有趣的无理数

Conway 常数

基本介绍

传送门

这里需要先引入外观序列(Look-and-say)序列

Look-and-say数列是指以下特点的整数序列: 1, 11, 21, 1211, 111221, 312211, 13112221, 1113213211, …… 它以数字1开始,序列的第n项是对第n-1项的描述。比如第5项是111221,描述就是3个1,2个2,1个1, 所以下一项(第六项)就是312211。

有趣的无理数_迭代


Conway常数的由来

关于这个方程和Conway常数的由来,可以参考下面这篇文章。

传送门

大概就是Conway发现了一个定理:从数列第8项开始的每一项都可以由92的基本串中的某些构成,这92个串相当于原子串。

我们可以构造一个 92 × 92 92\times 92 92×92的矩阵 T T T,矩阵的每一列代表第 i i i串迭代一次后会变成哪些基本串。

举例来说,第 2 个基本串是 1112133 ,它的下一个数就是 31121123 , 是由第 64 个基本串和第 62 个基本串拼接组成的。

有趣的无理数_递归_02

这个特征方程就是上述的71次多项式方程,而Conway常数就是该方程的唯一正实数解。


外观序列的生成和程序代码

主要就是利用了递归思想,我们要求第 n n n个序列就是要知道第 n − 1 n-1 n1序列,然后就一直递归,直到第一个序列 1 1 1

代码

class Solution {
public:
    string countAndSay(int n) {
       if(n==1) return "1";
       string s=countAndSay(n-1);
       int m=s.size();
       string ans;
       char ch=s[0];
       int cnt=0;
       for(int i=0;i<m;i++){
           if(ch==s[i]) cnt++;
           else {
               ans+=to_string(cnt)+ch;
               cnt=1,ch=s[i];
           }
       }
       if(cnt) ans+=to_string(cnt)+ch;
       return ans; 
    }
};

例题

LeetCode-18.外观数列

传送门


黄金分割比

以肚脐眼为分界,人的上本身与下半身之比,下半身与全身之比为 0.618 0.618 0.618左右是最优的。

Φ = 5 − 1 2 = 1 Φ + 1 ≈ 0.6180339887 \Phi=\dfrac{\sqrt{5}-1}{2}=\dfrac{1}{\Phi+1}\approx 0.6180339887 Φ=25 1=Φ+110.6180339887

斐波那契数列 { 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 …   } \{1,1,2,3,5,8,13,21\dots\} {1,1,2,3,5,8,13,21} n n n越大时,后一项与前一项之比越来接近 1 Φ ≈ 1.6180339887 \dfrac{1}{\Phi}\approx 1.6180339887 Φ11.6180339887