UVaOJ 694 The Collatz Sequence

容易超時,使用long long類型

#include <stdio.h>
#include <string.h>
#include <ctype.h>

int main()
{
    //freopen("in.txt","r",stdin);
    //freopen("out.txt","w",stdout);
    long long  A,L;
    int Case = 0;
    while(scanf("%lld%lld",&A,&L))
    {   long long As = A;
        getchar();
        Case++;
        if(A<0&&L<0)break;
        int terms = 1;
        for(;;)
        {
            if(A==1)break;
            if(A%2)
            {
                if(A*3+1<=L)
                {
                    A=A*3+1;
                    terms++;
                }else break;
            }
            else
            {
                A/=2;
                terms++;

            }
        }
        printf("Case %d: A = %lld, limit = %lld, number of terms = %d\n",Case,As,L,terms);
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章