标签:main 一半 返回 nbsp 返回值 题目 efi 输入 print
题目(卡拉兹猜想):对任何一个正整数,如果它是偶数,那么把他砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半;这样一直反复砍下去,最后一定在某一步得 n=1;问,需要多少步(砍几步)才能得到n=1(n<=1000)?
输入格式:
给出正整数n的值.
输出格式:
输出从n计算到1需要输出的步数.
#include <stdio.h>
#include <stdlib.h>
#define uint unsigned int
int main()
{
int n;
int count=0;
scanf("%d",&n);
while(n != 1)
{
if(n%2 == 0)
{
n = n/2;
}
else
{
n = (3*n+1)/2;
}
count++;
}
printf("%d",count);
return 0;
}
总结:
要养成写返回值的习惯;
程序如何停下(即while"()"的内容填什么);
如何实现输出;
还有最重要的是要细心 细心 细心!!!
标签:main 一半 返回 nbsp 返回值 题目 efi 输入 print
原文地址:https://www.cnblogs.com/1-lizhi/p/12153816.html