任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 1.求助大神C语言编程能验证不存在使该过程“永不停止”的整数!

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 14:30:02

任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 1.求助大神C语言编程能验证不存在使该过程“永不停止”的整数!
任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 1.
求助大神C语言编程能验证不存在使该过程“永不停止”的整数!

任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 1.求助大神C语言编程能验证不存在使该过程“永不停止”的整数!
冰雹猜想?
是要验证还是证明?
前者的话,可以自己编程的.
用Pascal编一个:
var n:extended;
i:longint;
begin
readln(n);
writeln(n:0:0);
i:=1;
while n1 do
begin
write('=>');
if trunc(n) mod 2=0 then
begin
n:=trunc(n) div 2;
write(n:0:0,' ');
end
else
begin
n:=n*3+1;
write(n:0:0,' ');
end;
if i mod 10=0 then writeln;
inc(i);
end;
writeln;
write('sum=',i-1);
readln
end.
输入n后,它会输出n每一步经过迭代后的数,如
输入:27
输出:
27
=>82 =>41 =>124 =>62 =>31 =>94 =>47 =>142 =>71 =>214
=>107 =>322 =>161 =>484 =>242 =>121 =>364 =>182 =>91 =>274
=>137 =>412 =>206 =>103 =>310 =>155 =>466 =>233 =>700 =>350
=>175 =>526 =>263 =>790 =>395 =>1186 =>593 =>1780 =>890 =>445
=>1336 =>668 =>334 =>167 =>502 =>251 =>754 =>377 =>1132 =>566
=>283 =>850 =>425 =>1276 =>638 =>319 =>958 =>479 =>1438 =>719
=>2158 =>1079 =>3238 =>1619 =>4858 =>2429 =>7288 =>3644 =>1822 =>911
=>2734 =>1367 =>4102 =>2051 =>6154 =>3077 =>9232 =>4616 =>2308 =>1154
=>577 =>1732 =>866 =>433 =>1300 =>650 =>325 =>976 =>488 =>244
=>122 =>61 =>184 =>92 =>46 =>23 =>70 =>35 =>106 =>53
=>160 =>80 =>40 =>20 =>10 =>5 =>16 =>8 =>4 =>2
=>1
sum=111

3:3*3=9,9+1=10,10/2=5,5*3=15,15*3=45,45*3=135,135*3=...........,只要最后一位是5,只能乘以3,乘了3结尾还是5,哈哈,这只是胡扯