代码比较简单,各语句意义见注释。。。
#include <stdio.h>
int main(int argc, char *argv[])
{
int i /*定义要处理的变量*/
scanf("%d", &i) /*输入变量值*/
while(i != 1)
{
if(i%2)/*奇数*/
{
printf("%d*3+1=%d\n", 神帆i, i*3+1) /*按题目要求的格式打印出来*/
i = i*3+1 /*更新颤瞎肆变量值*/
}
else /*偶数*/
{
printf("%d/2=%d\n", i, i/2) /*按题目要求的格式打印出来*/
i = i/2 /*更新变量茄轿值*/
}
}
printf("END\n") /*最后打印END*/
return 0
}
另外几个测试结果图片:
#include<stdio.h>main()
{
int n,c=0
printf("输入一个小于等灶派于一万败宽的整数:")
scanf("%d",&n)
if(n>10000&&n<0) printf("输入错误请重新输入!")
while(n!=1)
{
if(n%2==0)
n=n/察辩亮2
else
n=n*3+1
c++
}
printf("%d\n",c)
}
#include<stdio.h>main()
{int
a,b,count
printf("晌肆请输入a的值,以便检验角谷猜想。\na=")
scanf("%d",&a)
b=a
while
(a!=1)
{if
(a>1&&a%2==0)
{a=a/2
printf
("→%d\n",a)}
else
{a=3*a+1printf("→%d\n",a)}
count++}printf("%d需经过%d步才得到1.",b,count)}
//如宴嫌轿果能够逆推出,比方说,23的下一步是70,那么都有哪些数的下一步是70?如此逆推,就能写者察成一棵"数论树".
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)