andy6804tw
7/22/2016 - 1:44 PM

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=1295 這題就是取兩個值之間找出最大的cycle length

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?id=1295

這題就是取兩個值之間找出最大的cycle length

import java.util.*; 
 
public class Main { 
 
  public static void main(String[] args) { 
       Scanner scn = new Scanner(System.in); 
      while (scn.hasNext()) { 
            int a=scn.nextInt(),b=scn.nextInt(),max=0,count=0,num=0; 
           System.out.print(a+" "+b+" "); 
         if(a>b){ 
                int temp=a; 
                a=b; 
               b=temp; 
            } 
          for(int i=a;i<=b;i++){ 
              count=1;num=i; 
             while(num!=1){ 
                 if(num%2==0) 
                       num/=2; 
                    else 
                       num=3*num+1; 
                   count++; 
               } 
              if(count>max) 
                   max=count; 
           } 
          System.out.println(max); 
       } 
  } 
  	/* 
    題目:[C_CH10-中] The 3n + 1 problem
    作者:1010
    時間:西元 2016 年 7 月 */
}