2013年10月5日 星期六

UVA 100 3n+1 Problem

[無]



#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#define gMax(a,b) ((a)>(b)) ? (a):(b)
int cb(int a)
{
    if(a==1)
        return 1;
    if(a%2==0)
        return cb(a/2)+1;
    else
        return cb(3*a+1)+1;
}
int main()
{
    int max=1;
    int a,ta;int b,tb;
    while(scanf("%d %d",&a,&b)!=EOF)
    {
        if(b<a){ta=b;tb=a;}else{ta=a;tb=b;}
        for(int lx=ta;lx<=tb;lx++)
            max=gMax(max,cb(lx));
        printf("%d %d %d\n",a,b,max);
        max=0;
    }
    return 0;
}

沒有留言:

張貼留言