求角谷猜想C语言程序,输入一个正整数,输出此整数回到1经过的步数,n<=10000

供稿:hz-xin.com     日期:2025-01-13
角谷猜想,C语言,输出过程

代码比较简单,各语句意义见注释。。。
#include
int main(int argc, char *argv[])
{
int i; /*定义要处理的变量*/
scanf("%d", &i); /*输入变量值*/
while(i != 1)
{
if(i%2)/*奇数*/
{
printf("%d*3+1=%d
", i, i*3+1); /*按题目要求的格式打印出来*/
i = i*3+1; /*更新变量值*/
}
else /*偶数*/
{
printf("%d/2=%d
", i, i/2); /*按题目要求的格式打印出来*/
i = i/2; /*更新变量值*/
}
}
printf("END
"); /*最后打印END*/
return 0;
}
另外几个测试结果图片:


#includeint main(){int n,n1;scanf("%d",&n);while(n!=1) if(n%2) {n1=n/2; printf("%d/2=%d
",n,n1); n=n1; } else {n1=n*3+1; printf("%d*3+1=%d
",n,n1); n=n1; }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 n=0;
int num;
do
{
printf("please input a integrate(num<=10000):");
scanf("%d",&num);
}
while(num>10000);
while(num!=1)
{
if(num%2==1)
num=num*3+1;
else
num=num/2;
n++;
}
printf("n=%d\n",n);
}

#include<stdio.h>
main()
{
int n=0;
int num;
do
{
printf("please input a integrate(num<=10000):");
scanf("%d",&num);
}
while(num>10000);
while(num!=1)
{
if(num%2==1)
num=num*3+1;
else
num=num/2;
n++;
}
printf("n=%d\n",n);
}

验证角谷猜想 怎么让输出的最后一个数字后面没有空格?代码如下
第一个数字用:printf("%d", &num);第二个数字用:printf(" %d", &num);

C程序位数不够用,怎么办好?
for(i=len-1;i>=0;i--){ tmp=(n[i]-'0')*3+yu;n[i]=tmp%10+'0';yu=tmp\/10;} if(yu!=0){ i=len+1;while(i){ n[i]=n[i-1];i--;} n[0]=yu+'0';} return n;} int main(){ char n[1000];int count=1;int len;printf("输入一个正整数:\\n");scanf("...

这种用法是什么c=(c<<1)|1?
c<<1,就是把变量c的二进制向左移一位,空出的部位加0,它的实质就相当于把变量c的值乘以2,后面的|1,就是与常数1做按位或运算,因为原来的c是一个偶数,所以与产量一案未获得结果,就是等于+1。所以,c=(c<<1)|1也就是c=c*2+1。这个语句大概是角谷猜想程序中的语句吧。

请教高手一道C语言题
样例输入 4 表示有四组输入 然后对应的5 | 9 | 16 | 11就是四个输入 输入5 对应的输出 5 输入9 对应的输出9 7 11 17 13 5 输入16对应的输出No number can be output !输入11对应的输出11 17 13 5

迭代的基本算法
如果需要创建Iterative对象,则必须有一个被迭代的集合。没有集合的Iterative仿佛无本之木,没有存在的价值。iterative是反复的意思,所以,有时候,迭代也会指循环执行,反复执行的意思。利用迭代算法解决问题,需要做好以下三个方面的工作: 在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。不能让...

超级数学难题求解
计N1=22=2*11 f(x)=x-1 A1=10 N2=5 A2=4 N3=2 A3=2 N4=1 A4无解

C语言常用算法分析的目录
2 数据结构的基本概念 162.3 C语言常见数据结构 182.3.1 数组 182.3.2 结构体 202.3.3 链表 212.3.4 栈 232.3.5 队列 24第3章 查找与排序算法( 自学视频、源程序:配套资源\\mr\\03\\) 263.1 查找算法 273.1.1 顺序查找 273.1.2 折半查找 293.1.3 分块查找 313.1....

c语言与角谷猜想
代码比较简单,各语句意义见注释。。。include 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+...