您的位置:首页 > 其它

hdu-1032-The 3n + 1 problem

2013-08-19 21:40 302 查看


#include<stdio.h>

#include<string.h>

int c[10000];

void fin(int t,int m,int a,int b)

{

 int i,j,n,max;

 memset(c,0,sizeof(c));

 for(j=0,i=t;i<=m;i++)

 {

  n=i;

  while(n!=1)

  {

   if(n&1)

    n=3*n+1;

   else n>>=1;

   c[j]++;

  }

  j++;

 }

 max=0;

 for(i=0;i<j;i++)

  if(c[i]>max)

   max=c[i];

  printf("%d %d %d\n",a,b,max+1);

}

int main()

{

 int a,b,t,m;

 while(scanf("%d%d",&a,&b)!=EOF)

 {

  t=a<b?a:b;

  m=a>=b?a:b;

  fin(t,m,a,b);

 }

 return 0;

}

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: