C语言判断循环了几次问题描述测试, 角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1.经过如此有限次运算后,总可以得到自然数值1.求经过多少次可得到自然数1.如
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/28 17:50:11
![C语言判断循环了几次问题描述测试, 角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1.经过如此有限次运算后,总可以得到自然数值1.求经过多少次可得到自然数1.如](/uploads/image/z/10298075-59-5.jpg?t=C%E8%AF%AD%E8%A8%80%E5%88%A4%E6%96%AD%E5%BE%AA%E7%8E%AF%E4%BA%86%E5%87%A0%E6%AC%A1%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0%E6%B5%8B%E8%AF%95%2C+%E8%A7%92%E8%B0%B7%E5%AE%9A%E7%90%86%EF%BC%9A%E8%BE%93%E5%85%A5%E4%B8%80%E4%B8%AA%E8%87%AA%E7%84%B6%E6%95%B0%2C%E8%8B%A5%E4%B8%BA%E5%81%B6%E6%95%B0%2C%E5%88%99%E6%8A%8A%E5%AE%83%E9%99%A4%E4%BB%A52%2C%E8%8B%A5%E4%B8%BA%E5%A5%87%E6%95%B0%2C%E5%88%99%E6%8A%8A%E5%AE%83%E4%B9%98%E4%BB%A53%E5%8A%A01.%E7%BB%8F%E8%BF%87%E5%A6%82%E6%AD%A4%E6%9C%89%E9%99%90%E6%AC%A1%E8%BF%90%E7%AE%97%E5%90%8E%2C%E6%80%BB%E5%8F%AF%E4%BB%A5%E5%BE%97%E5%88%B0%E8%87%AA%E7%84%B6%E6%95%B0%E5%80%BC1.%E6%B1%82%E7%BB%8F%E8%BF%87%E5%A4%9A%E5%B0%91%E6%AC%A1%E5%8F%AF%E5%BE%97%E5%88%B0%E8%87%AA%E7%84%B6%E6%95%B01.%E5%A6%82)
C语言判断循环了几次问题描述测试, 角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1.经过如此有限次运算后,总可以得到自然数值1.求经过多少次可得到自然数1.如
C语言判断循环了几次
问题描述
测试,
角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1.经过如此有限次运算后,总可以得到自然数值1.求经过多少次可得到自然数1.如:例如数据22的变化过程:
22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1,数据变化次数为16.
可用迭代法或递归法实现.
输入说明
第一行1个整数m(100 > m >0),表示有多少组数据. 其后一行为m个正整数,表示m个数据.
输出说明
一行输出1个数据变换次数后,换行
输入样例
3
22 33 43
输出样例
16
27
30
提示信息
要求输出格式必须和题目里要求一样,机器判断正确了,我就给分.
C语言判断循环了几次问题描述测试, 角谷定理:输入一个自然数,若为偶数,则把它除以2,若为奇数,则把它乘以3加1.经过如此有限次运算后,总可以得到自然数值1.求经过多少次可得到自然数1.如
#include<stdio.h>
main()
{
int n,i,x,k,a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{ k=1;
scanf("%d",&x);
while(x!=1)
{
if(x%2==0)
x=x/2;
else x=x*3+1;
k++;
}
a[i]=k;
}
for(i=0;i<n;i++)
printf("%d\n",a[i]);
}
望采纳