求助 3N 1 问题
3N+1 问题就是任给自然数N,如果N是偶数,则将N除2;如果N是奇数,则将N乘3加1。重复上述过程得到一个无穷数列。例 N=5
16 8 4 2 1 4 2 1 .....................
求助如何编写程序~~~~~
我写好久没有写出来~~~
请各位大师帮助
谢谢了 原帖由 lgpipilu 于 2007-4-6 11:05 发表
3N+1 问题就是任给自然数N,如果N是偶数,则将N除2;如果N是奇数,则将N乘3加1。重复上述过程得到一个无穷数列。
例 N=5
16 8 4 2 1 4 2 1 .....................
求助 ...
建议以后把问题写清楚,至少应该写为:
= f(n)/2 , f(n) 是偶数
f(n+1)
= 3*f(n) +1 ,f(n) 是奇数
[ 本帖最后由 eight 于 2007-4-6 13:28 编辑 ] N = 10;
y = zeros(1,N);
y(1) = 5;
for i = 2:N
if mod(y(i-1),2) == 0
y(i) = y(i-1)/2;
else
y(i) = 3 * y(i-1) + 1;
end
end
y=y(2:end) 谢谢~~~~
:victory: :lol http://forum.vibunion.com/forum/member.php?action=activate&uid=110374&id=zOZOYK
N = 10;
y = zeros(1,N);
y(1) = 5;
for i = 2:N
if mod(y(i-1),2) == 0
y(i) = y(i-1)/2;
else
y(i) = 3 * y(i-1) + 1;
end
if y(i)==1 break;
end
end
y=y(2:i)
页:
[1]