对一个自然数作对一个自然数做如下操作:如果是偶数则除以2;如果是奇数则加1,如此进行直到1,操作停止。

?ui我是小学生,请讲小学知识
2024-11-26 12:22:17
推荐回答(2个)
回答1:

对一个自然数做如下操作:如果是偶数则除以2;如果是奇数,对一个自然数做如下操作:如果是偶数则除以2;如果是奇数则加1,如此进行直到1,操作停止。求经过9次操作变为1的数有多少个?
解:记这个操作为函数:
f(n)=
n/2 (当n偶);#1
n+1 (当n奇);#2)

将得到的结果记为k,考虑其逆操作g(k)
#1得到k=n/2,k可能偶也可能奇,得到n的逆操作是n=2k;
#2提到k=n+1,k只能为偶,得到n的逆操作是n=k-1
于是
g(k)=2k(k为奇或偶);k-1(k为偶)
也就是说,从奇数开始,只得一个偶数的g(k)=2k值;从偶数开始,可以得到两个,一个偶值为2k,一个奇值为k-1。

以下从k=1为起始,用操作g(k)进行逆推,按步骤写出得到的结果:
#1# 2;(注:第1步,得到2)
#2# 4,1;
#3# (8,3),(2 注:由#1#可见出现循环,下面记成#1#)
#4# (16,7),(6),(#2#)
#5# ((32,15),(14)),(12,5),(#3#)
#6# (((64,31),30),(28,13)),((24,11),10),(#4#)
由此看出步数与对应的数的个数的规律是:
#1# 1
#2# 2
#3# 2+1=3
#4# 3+2=5
#5# 5+3=8
#6# 8+5=13
易见出现了fibonacci(斐波拉契)数列。下面的个数我们接着写下去:
7# 21
8# 34
9# 55
也就是说,经过9步操作而能变为1的数的个数是55.
严格的证明不难作出。暂略。

外一则: fibonacci数列:
f0=0,f1=f2=1,f(n+2)=f(n+1)+f(n){n>=0自然数}
下面的#9#对应于f(10)

回答2:

应该是34个可能,倒退一次得到2一种可能,倒退两次得到4一种可能,倒退三次得到3、8两种可能,倒退四次得到7、6、16三种可能,这是一个斐波拉契数列1.1.2.3.5.8.13.21.34…,第九个数就是34