2015年6月23日 星期二

這是些測試的東東

現在就是做一些測試爛肉 第二行 第三行 測試肉

2015年6月15日 星期一

3n+1

#include <stdio.h>                                                                                            
#include <stdlib.h>

#define swap(x,y) (x^=y,y^=x,x^=y)

int main()
{
    unsigned long A, B;
    while(scanf("%ld %ld", &A, &B) == 2)
    {   
        printf("%ld %ld ", A, B); 
        if (A > B) swap(A,B);

        unsigned long max = 0;

        unsigned long i;
        for(i = A; i <= B; i++)
        {   
            unsigned long count, n;
            for(count = 0, n = i;;) 
            {   
                count++;
                if(n == 1) break;
                n = (n%2==1)? 3*n+1 : n >> 1;
            }   
            if(count >= max) max = count;
        }   

        printf("%ld\n", max);
    }
    return 0;
}