3n+1问题反映一个数学猜想:对任一自然数n,按如下法则进行运算:若n为偶数,则将n除2,若n为奇数,则将n乘3加1。重复这种操作,结果终会为1。实验程序如下。
n=input('请输入一个大于0的自然数:');
N=n;
while n~=1
r=rem(n,2);
if r==0
n=n/2;
else
n=3*n+1;
end
N=[N,n];
end
disp(N);
实验程序运行过程中
n=input('请输入一个大于0的自然数:');
N=n;
while n~=1
r=rem(n,2);
if r==0
n=n/2;
else
n=3*n+1;
end
N=[N,n];
end
disp(N);
实验程序运行过程中
举一反三
- 3n+1问题反映一个数学猜想:对任一自然数n,按如下法则进行运算:若n为偶数,则将n除2,若n为奇数,则将n乘3加1。重复这种操作,结果终会为1。实验程序如下。n=input('请输入一个大于0的自然数:');N=n;while n~=1 r=rem(n,2); if r==0 n=n/2; else n=3*n+1; end N=[N,n];enddisp(N);实验程序运行过程中( ) A: 输入变量n不发生改变; B: N是记录数据变化的一维数组; C: N记录每次数据变化的单个数据; D: n是记录数据变化的一维数组;
- 以下程序不正确的是 ( ) A: n=input('n=')switch rem(n,3)case 0; A=3*ncase 2; A=2*ncase 1; A=n end B: n=input('n=')if rem(n,3)==0; A=3*n elseif rem(n,3)==2; A=2*n else A=n end end C: n=input('n=')if rem(n,3)==0; A=3*nelseif rem(n,3)==2; A=2*nelse A=n end D: n=input('n=')switch rem(n,3)case 0; A=3*ncase 2; A=2*notherwise; A=n end
- 以下程序不正确的是 A: n=input(‘n=‘)if rem(n,3)==0; A=3*nelseif rem(n,3)==2; A=2*n else A=nendend B: n=input(‘n=‘)if rem(n,3)==0; A=3*nelseif rem(n,3)==2; A=2*n else A=nend C: n=input(‘n=‘)switch rem(n,3)case 0; A=3*ncase 2; A=2*notherwise; A=nend D: n=input(‘n=‘)switch rem(n,3)case 0; A=3*ncase 2; A=2*ncase 1; A=nend
- 中国大学MOOC: 读程序,并回答问题: N = 101。If N/2==0 Then N = N/2。Else N = N * 3 +1。End If该程序执行完成后,N的值为_____。
- 下面程序的输出结果是( )。 n = 1 while n < 6: if n == 3: print(" ",end=' ') else: print(n,end=' ') n = n + 1