代码改变世界

UVA_694:The Collatz Sequence

2015-04-03 21:46  星星之火✨🔥  阅读(319)  评论(0)    收藏  举报

 Language: C++ 4.8.2


#include<stdio.h>
int main(void)
{
    long long int m, n, copy_m;
    int count = 1;
    int number = 0;
    while(1)
    {
        scanf("%lld%lld", &m, &n); // uva要求用%lld读入有符号长整型
        if(m < 0 && n < 0)
            break;
        count = 1;
        copy_m = m;
        while(m != 1)
        {
            if(m % 2 == 0)
                m = m / 2;
            else
            {
                m = 3*m + 1;
                if(m > n)
                    break;
            }
            count++;
        }
        number++;
        printf("Case %d: A = %lld, limit = %lld, number of terms = %d\n", number, copy_m, n, count); // 注意输出格式,数据类型不统一的话,MingW下会出现莫名奇妙的错误。
    }
    
    return 0;
}