萌新求大佬帮助,这个代码我感觉没有问题,但运行不出结果,是为什么啊
给定的任一不超过 1000 的正整数 n,如果它是奇数,那么把 (3n+1) 砍掉一半,如果它是偶数,那么把它砍掉一半,需要多少步(砍几下)才能得到 n=1。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
scanf("%d",&a);
b=0;c=0;
if (a%2==1)
{a=3*a+1;
while(a>1)
{a=a/2;
b=b+1;
if(a%2==1)
{a=3*a+1;
}}
printf("%d",b);}
if(a%2==0)
{while(a>1)
{a=a/2;
c=c+1;
if(a%2==1)
{a=a*3+1;
}}
printf("%d",c);}
return 0; }