该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
int main()
{
int a=0;
float b,c;
printf("考拉兹在 1930 年提出一种数学猜想,他说有一种正整数迭代序列,\n这种迭代序列第一项为任意正整数,逢奇数则乘三加一,逢偶数则\n除以二,最后总能得到 1。\n请你也试试吧……(那个啥,别输小数或0或负数\n捣乱啊^_^)\n") ;
printf("输入一个正整数:");
scanf("%f",&b);
c=b;
a=(int)b;
if((float)a==c) /*判定是否是小数或数溢出,有点麻烦*/
{
if(a>=1) /*判定是否是大于等于1的正数*/
{
do
{
if((a%2==0))
{
a=a/2;
printf("该数为偶数,它除以二后得%d\n按任意键继续\n",a);
getch();
}
else
{
a=3*a+1;
printf("该数为奇数,它的三倍加一后得%d\n按任意键继续\n",a);
getch();
}
}while(a!=1);
printf("嗯……呦呦~成功啦!!!\n按任意键关闭\n");
getch();
}
else
{
printf("负数或0是不行滴~\n真不听话~\n按任意键关闭\n");
getch();
}
}
else
{
printf("小数、数太大或字母是不行滴~\n按任意键关闭\n");
getch();
}
return 0;
}