24h購物| | PChome| 登入
2009-01-10 21:06:28| 人氣7,641| 回應1 | 上一篇 | 下一篇

ACM 100 The 3n + 1 problem

推薦 0 收藏 0 轉貼0 訂閱站台

此題並沒有說,輸入的兩數誰大誰小,所以必須考慮大小,其他採用暴力法算出個數,再比較MAX

/******************************************************************************/

  1. #include<stdio.h>      
  2. #include<stdlib.h>   
  3. #include<string.h>   
  4. main()   
  5. {   
  6.  int a,b,c,x,y,n;        
  7.  int i,j,temp=1,max=1;   
  8.  while(scanf("%d %d",&i,&j)==2)   
  9.  {max=1;temp=1; /*歸0*/  
  10.   printf("%d %d ",i,j);   
  11.    if(i>j)                   
  12.     {   
  13.       x=i;                       
  14.       i=j;   
  15.       j=x;   /*若I>J 將其顛倒*/                      
  16.     }                 
  17.    for(a=i;a<=j;a++)   
  18.     {   
  19.      n=a;temp=1;  /*個數歸0*/    
  20.      while(n!=1)               
  21.       {   
  22.        if(n%2==0)   
  23.         {n=n/2;temp++;}   
  24.        else  
  25.         {n=3*n+1;temp++;}             
  26.       }                                            
  27.       if(temp>max) {max=temp;}                 
  28.     }     
  29.    printf("%d\n",max);               
  30.  }                    
  31.  return 0;        

台長: 來源不明
人氣(7,641) | 回應(1)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 568 Just the Facts
此分類上一篇:ACM 406 Prime Cuts

3
33333333333333333333333333333333333333333333333333333333333333
2018-11-17 19:38:06
是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文