mydjm

 

3n+1问题

 1 #include<stdio.h>
2 void main()
3 {
4 int i,j,k,m,count,max;
5 while(scanf("%d %d",&i,&j)!=EOF)
6 {
7 m=i;count=0,max=0;//m用于保存i
8 for(k=i;i<=j;k=i)
9 {
10 while(k!=1)//缺点 直接忽略了i=1的情况
11 {
12 if(k%2==0) k=k/2;
13 else k=3*k+1;
14 count++;
15 }
16 if(count+1>=max) max=count+1;count=0;//清空count max
17 i++;
18 }
19 printf("%d %d %d\n",m,j,max);
20 max=0;
21 }
22 return;
23 }
24 //开始错误的地方:没有清空count 和max 导致累加

 

一开始忘了清空count和max 也懒得调试 就上网搜了下 发现他们的代码很长 于是回来修改自己的  才24行。。这个。。好吧 我这个肯定通不过OJ。。
 

posted on 2011-11-14 10:26  mydjm  阅读(203)  评论(0编辑  收藏  举报

导航