HDU 1279 验证角谷猜想

http://acm.hdu.edu.cn/showproblem.php?pid=1279

按要求模拟

View Code
#include <stdio.h>

int main()

{

    int t,n,p,f,f1;

    scanf("%d",&t);

    while(t--)

    {

        f=f1=1;

        scanf("%d",&n);

        p=n;

        while(n)

        {

            if(n%2&&n!=1){

                f1=0;

                break;

            }

            n>>=1;

        }

        while(1)

        {

            if(p==1)break;

            if(f&&p%2&&p!=1)

            {

                printf("%d",p);

                f=f1=0;

            }

            else if(f==0&&p%2) 

                printf(" %d",p);

            if(p%2)p=p*3+1;

            else p>>=1;

        }

        if(f1)

            printf("No number can be output !");

        putchar('\n');

    }

    return 0;

}

 

你可能感兴趣的:(HDU)