mathe 发表于 2008-4-24 15:45:09

一个01序列的计算题

在一张白纸上先依次写上0和1两个数字。
然后从左到右扫描白纸上所有数字,每遇上一个数字0,在序列后面添加三个数001,每遇上一个数字1,在序列后面添加两个数01。
请问,序列第$100000!$个数是什么?(注意是第100000!而不是第100000个数)

无心人 发表于 2008-4-24 15:57:32

:)

你厉害
0100110010011100100110010011110010011001001,,,

无心人 发表于 2008-4-24 15:58:51

:)

结论
0总是连续出现两个
1似乎是按12131415规律出现

kofeffect 发表于 2008-4-24 16:03:43

原帖由 无心人 于 2008-4-24 15:57 发表 http://images.5d6d.net/dz60/common/back.gif
:)

你厉害
0100110010011100100110010011110010011001001,,,

应该是
01001010010010100101吧???

mathe 发表于 2008-4-24 16:04:25

kofeffect的正确,无心人应该看错题目了

无心人 发表于 2008-4-24 16:06:54

:)

看串行了


0100101001001010010100100101001001010010100100101001
按1之间的0数量记
12122121221221212212

无心人 发表于 2008-4-24 16:08:40

:)

要看是规则序列还是递增规则序列

我愚钝,谁能做出100个的序列
看是1212212122122 1212212122122
还是12122 12122122 12122122122 12122122122122

shshsh_0510 发表于 2008-4-24 20:32:37

0
Fibonacci word

无心人 发表于 2008-4-24 20:54:17

:)

什么意思?

kofeffect 发表于 2008-4-26 15:16:18

使用一个笨方法得出第100000!位的数字是0
分析规律:
设定: 基为:01,生成元为:0->001 ,1->01
根:   0   1
第一层:00101
第二层:0010010100101
第三层:0010010100100101001010010010100101
第四层:......

第N+1层以第N层为基,
用a代表001,用b代表01
推出第N+1层:A=2A+B
         B=A+B
A表示第N层a的个数,B表示第N层b的个数

a = 0;
b = 1;
s = 0;
for(i=1;i<N;i++)
{
temp = a;
a = 2a+b;
b =temp+b;
s = s+3a+2b;//计算位数
}
我设置N足够大,在for循环内设置当s的值超过100000!时停止
得:
i 值:879924
s 值:456575

而100000!的位数是456574位

加上注意到每一层的最右边都是01,所以第100000!位数就是0

当然这只是一种投机的原始的方法,假设所求位数不在最右或最左的边位上,就得另寻他法了^_^
页: [1] 2
查看完整版本: 一个01序列的计算题