Javaデータ構造及びアルゴリズム例:コアラはCollatz Cojectureを予想する。

1139 ワード


/** 
 *      :Collatz Conjecture 
 *    3n+1  、    、    、    、           , 
 *           ,      ,    3  1, 
 *       ,     2,    ,       1。 
 */ 
package al; 
public class CollatzConjecture { 
  private int i = 1; 
  public static void main(String[] args) { 
    long l = 9999999; 
    System.out.println("l is "+ l); 
    CollatzConjecture cc = new CollatzConjecture(); 
    cc.Collatz(l); 
  } 
   
  /** 
   *        �C   �_ 。    ,     �z      。 
   *    �   @�    �� � �    � �    2 ; 
   *     � �    3    1 。 
   *  �� � � @�    ィ�    ���  1 。 
   * �@��   �^    �N  。 
   * @author 
   * @param param         
   */ 
  private void Collatz(long param) {    
    System.out.println("After " + i + " time we get result " + param); 
    if(param > 1) { 
      i++; 
      if (param%2 == 0) { 
        Collatz(param/2);         
      } else { 
        Collatz(3*param + 1); 
      } 
    } 
  } 
}