Board logo

標題: 遞迴函式 (二) - 費氏數列 [打印本頁]

作者: tonyh    時間: 2019-7-5 13:19     標題: 遞迴函式 (二) - 費氏數列

費氏數列 - 維基百科

費氏數列規則如下:
第n項 = 第 n-1 項  + 第 n-2 項

即整個費式數列為:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377...

試完成一程式,能推算費氏數列至指定項次:

  1. import java.util.Scanner;

  2. public class Ch50 {       
  3.    
  4.         static int fai(int n)
  5.         {
  6.                 if(n<2)
  7.                         return n;
  8.                 else
  9.                         return fai(n-2)+fai(n-1);
  10.         }
  11.         /*
  12.             
  13.             值:  0 1 1 2 3 5 8
  14.             項:  0 1 2 3 4 5 6
  15.             
  16.            fai(5)
  17.            =fai(3)+fai(4)
  18.            =fai(1)+fai(2)+fai(2)+fai(3)
  19.            =1+fai(0)+fai(1)+fai(0)+fai(1)+fai(1)+fai(2)
  20.            =1+0+1+0+1+1+fai(0)+fai(1)   
  21.            =1+0+1+0+1+1+0+1     
  22.            =5
  23.           
  24.         */
  25.         public static void main(String[] args)
  26.         {
  27.                 int n;
  28.                 Scanner s=new Scanner(System.in);
  29.                 System.out.print("請問要推算費氏數列到第幾項次? ");
  30.                 n=s.nextInt();
  31.                 for(int i=0; i<=n; i++)
  32.                 {
  33.                         System.out.print(fai(i)+" ");
  34.                 }
  35.         }
  36. }
複製代碼

作者: 古昇暘    時間: 2019-7-5 13:37

  1. package o;

  2. import java.util.Scanner;
  3. public class foraddfinal
  4. {
  5.        
  6.                 static int fai(int n)
  7.                 {
  8.                         if (n<2)
  9.                         {
  10.                                 return n;
  11.                         }else
  12.                         {
  13.                                 return fai(n-2)+fai(n-1);
  14.                         }
  15.                 }
  16.                
  17.                 public static void main(String args[])
  18.                 {
  19.                         int n;
  20.                         Scanner s=new Scanner(System.in);
  21.                         System.out.println("Please enter the amoount of times you need: ");
  22.                         n=s.nextInt();
  23.                         for(int i=0; i<=n; i++)
  24.                         {
  25.                                     System.out.println(fai(i)+" ");
  26.                         }
  27.                 }
  28.         }
複製代碼

作者: 李承洋    時間: 2019-7-5 13:38

  1. import java.util.Scanner;
  2. public class Ch18 {
  3.         static int fai(int a)
  4.         {
  5.                 if(a<2)
  6.                         return a;
  7.                 else
  8.                         return fai(a-1)+fai(a-2);
  9.         }               
  10.         public static void main(String[] args)
  11.         {
  12.          Scanner s=new Scanner(System.in);
  13.          int a;
  14.          System.out.print("請問要推算費氏數列到第幾項次? ");
  15.          a=s.nextInt();
  16.          for(int i=0;i<=a;i++)
  17.                  System.out.print(fai(i)+" ");
  18.         }
  19. }
複製代碼

作者: 宋威廷    時間: 2019-7-5 13:39

  1. import java.util.Scanner;
  2. public class CH05
  3. {
  4.         static int fai(int n)
  5.         {
  6.             if(n<2)
  7.                 return(n);
  8.             else
  9.                 return fai(n-2)+fai(n-1);

  10.         }

  11.         public static void main(String[] args)
  12.         {
  13.             int j;
  14.             Scanner s=new Scanner(System.in);
  15.             System.out.print("請問要推算費氏數列到第幾項次? ");
  16.                 j=s.nextInt();
  17.                 for(int i=0; i<=j; i++)
  18.                 {
  19.                         System.out.print(fai(i)+" ");
  20.                 }
  21.         }

  22. }
複製代碼

作者: 陳致翰    時間: 2019-7-5 13:39

  1. import java.util.Scanner;

  2. public class Ch01 {
  3.         static int fai(int n)
  4.         {
  5.                 if(n<2)
  6.                             return n;
  7.                 else
  8.                             return fai(n-2)+fai(n-1);
  9.         }
  10.        
  11.         public static void main(String[] args) {
  12.         int n;
  13.         Scanner s=new Scanner(System.in);
  14.         System.out.print("請問要推算費氏數列到第幾項次? ");
  15.         n=s.nextInt();
  16.         for(int i=0;i<=n;i++)
  17.                 System.out.print(fai(i)+" ");
  18.                
  19.         }
  20. }
複製代碼

作者: 李從赫    時間: 2019-7-5 13:39

  1. import java.util.Scanner;
  2. public class Ch03 {
  3.         static int fai(int n)
  4.         {
  5.                 if(n<2)
  6.                         return n;
  7.                 else
  8.                         return fai(n-2)+fai(n-1);
  9.         }
  10.         public static void main(String[] args)
  11.         {
  12.                 int n;
  13.                 Scanner s=new Scanner(System.in);
  14.                 System.out.println("請問要推算費是數列到第幾項次? ");
  15.                 n=s.nextInt();
  16.                 for(int i=0; i<=n; i++)
  17.                 {
  18.                         System.out.println(fai(i)+" ");
  19.                 }
  20.         }

  21. }
複製代碼

作者: 吳庭慈    時間: 2019-7-5 13:39

  1. import java.util.Scanner;

  2.         
  3. public class Ch03 {
  4.           
  5.            static int fai(int n)
  6.            {
  7.                    if(n<2)
  8.                            return n;
  9.                    else
  10.                            return fai(n-2)+fai(n-1);
  11.            }
  12.         public static void main(String[] args)
  13.         {
  14.                 int n;
  15.                 Scanner s=new Scanner(System.in);
  16.                 System.out.print("請問要推算費氏數列到第幾項次? ");
  17.                 n=s.nextInt();
  18.                 for(int i=0; i<=n; i++)
  19.                 {
  20.                         System.out.print(fai(i)+" ");
  21.                 }       
  22.         }

  23. }
複製代碼

作者: 古蕾娜    時間: 2019-7-5 13:39

  1. import java.util.Scanner;
  2. public class Ch06
  3. {
  4.             static int fai(int n)
  5.             {
  6.                     if(n<2)
  7.                             return n;
  8.                     else
  9.                             return fai(n-2)+fai(n-1);
  10.             }
  11.             public static void main(String[] args)
  12.             {
  13.                     int n;
  14.                     Scanner s=new Scanner(System.in);
  15.                     System.out.print("What is the number of times to calculate the Fischer number?" );
  16.             n=s.nextInt();
  17.             for(int i=0; i<=n; i++)
  18.             {
  19.                     System.out.print(fai(i)+" ");
  20.             }
  21.             }
  22.             
  23. }
複製代碼

作者: 陳柏銓    時間: 2019-7-5 13:40

  1. import java.util.Scanner;


  2. public class Ch71234 {
  3.         static int ff(int a)
  4.         {
  5.                 if(a<2)
  6.                         return a;
  7.                 else
  8.                         return ff(a-2)+ff(a-1);
  9.         }

  10.         public static void main(String[] args) {
  11.                 int a;
  12.                 Scanner s=new Scanner(System.in);
  13.                 System.out.println("推算第幾項費氏數列: ");
  14.                 a=s.nextInt();
  15.                 for(int i=0; i<=a; i++)
  16.                 {
  17.                         System.out.print(ff(i)+" ");
  18.                 }

  19.         }

  20. }
複製代碼

作者: 林宥杰    時間: 2019-7-5 13:40

  1. import java.util.Scanner;

  2. public class Ch01 {
  3.         static int  fai(int n)
  4.         {
  5.         if(n<2)
  6.                 return n ;
  7.         else
  8.                 return fai(n-2)+fai(n-1);
  9.         }
  10.                                 public static void main(String[] args)       
  11.         {       
  12.                 int n;
  13.                                 Scanner s=new Scanner(System.in);
  14.                 System.out.print("請問要推算費氏數列到第幾項次呢? ");
  15.         n=s.nextInt();
  16.         for(int i=0;i<=n;i++)
  17.         {
  18.                 System.out.print(fai(i)+" ");              
  19.         }                                                      
  20.         }
  21. }
複製代碼

作者: 蔡杰恩    時間: 2019-7-5 13:40

  1. import java.util.Scanner;
  2. public class Ch87 {

  3.         static int fai(int n)
  4.         {
  5.                 if(n<2)
  6.                         return n;
  7.                 else
  8.                         return fai(n-2)+fai(n-1);

  9.         }
  10.         public static void main(String[] args) {
  11.                 int n;
  12.                 Scanner s=new Scanner(System.in);
  13.                 System.out.println("請問要推算費氏數列要到第幾項次?");
  14.                 n=s.nextInt();
  15.                 for(int i=0; i<=n; i++)
  16.                         System.out.print(fai(i)+" ");

  17.         }
  18. }
複製代碼

作者: 王煦    時間: 2019-7-5 13:42

  1. import java.util.Scanner;
  2. public class Ch01 {
  3.        
  4.         static int fai(int n)
  5.         {
  6.                 if(n<2)
  7.                           return n;
  8.                 else
  9.                           return fai(n-2)+fai(n-1);
  10.         }
  11.        
  12.         public static void main(String[] args)
  13.     {
  14.                 int n;
  15.                 Scanner s=new Scanner(System.in) ;
  16.                 System.out.print("請問要推算費氏數列到第幾項?");
  17.                 n=s.nextInt();
  18.                 for(int i=0;i<=n;i++)
  19.                 {
  20.                         System.out.print(fai(i)+" ");
  21.                 }
  22.     }
  23. }
複製代碼

作者: 李佳諭    時間: 2019-7-5 13:42

  1. import java.util.Scanner;

  2. public class Ch50{
  3.        
  4.         static int fai(int n){
  5.                 if(n<2)
  6.                         return n;
  7.                 else
  8.                         return fai(n-1)+fai(n-2);
  9.         }
  10.        
  11.         public static void main(String[] args) {
  12.                 Scanner s=new Scanner(System.in);
  13.                 int n;
  14.                 System.out.print("請問要推算費氏數列到第幾項次? ");
  15.                 n=s.nextInt();
  16.                 for(int i=0;i<=n;i++)
  17.                 System.out.print(fai(i)+" ");
  18.         }
  19. }
複製代碼

作者: 劉欽文    時間: 2019-7-5 13:43

  1. import java.util.Scanner;
  2. public class Ch12 {
  3.     static int fai(int n)
  4.     {
  5.                 if(n<2)
  6.                             return n;
  7.                 else
  8.                             return fai(n-2)+fai(n-1);
  9.     }
  10.   
  11.     public static void main(String[] args)
  12.     {
  13.                 int n;
  14.                 Scanner s=new Scanner(System.in);
  15.                 System.out.print("請問要推算費式數列到第幾項次? ")
  16.                 n=s.nextInt();
  17.                 for(int i=0;i<=n; i++)
  18.                 {
  19.                 System.out.print(fai(i)+" ");
  20.                 }
  21.     }
複製代碼

作者: 葉子于    時間: 2019-7-5 13:43

  1. import java.util.Scanner;

  2. public class ch04{
  3.         static int fai(int n)
  4.         {
  5.                 if(n<2)
  6.                         return n;
  7.                 else
  8.                     return fai(n-2)+fai(n-1);
  9.         }
  10.         public static void main(String[] args)
  11.         {
  12.                 int n;
  13.                 Scanner s=new Scanner(System.in);
  14.                 System.out.print("要推算費氏數列第幾項次?");
  15.                 n=s.nextInt();
  16.                 for(int i=0;i<=n;i++)
  17.                 {
  18.                         System.out.print(fai(i)+" ");
  19.                 }
  20.         }       
  21. }
複製代碼

作者: 陳璽安    時間: 2019-7-5 13:44

  1. import java.util.Scanner;
  2. public class Ch15 {               
  3.         static int fai (int n)
  4.         {
  5.                 if(n<2)
  6.                         return n;
  7.                 else
  8.                         return fai(n-2)+fai(n-1);
  9.                 public static void main(Sting.in);
  10.                 {
  11.                         int n;
  12.                         Scanner s=new Scanner(System.in);
  13.                         System.out.print("請問要算費式數列到第幾項刺");
  14.                         n=s.nextInt();
  15.                         for(int i=0;i<=n;i++)
  16.                         {
  17.                                 System.out.print(fai(i)+" ");
  18.                         }
  19.                 }
  20.         }
  21.        
  22.        

  23.         }
複製代碼

作者: 張啟廣    時間: 2019-7-5 13:44

  1. import java.util.Scanner;

  2. public class Ch01
  3. {   
  4.         static int fai(int n)
  5.         {
  6.                 if(n<2)
  7.                 {
  8.                         return n;
  9.                 }
  10.                 else
  11.                 {
  12.                         return fai(n-2)+fai(n-1);
  13.                 }
  14.         }

  15.         public static void main(String[] args)
  16.         {
  17.                 Scanner s=new Scanner(System.in);
  18.                 int n;
  19.                 System.out.print("請問推算費氏數列的第幾項次? ");
  20.                 n=s.nextInt();
  21.                 for(int j=0;j<=n;j++)
  22.                         System.out.print(fai(j)+" ");
  23.         }

  24. }
複製代碼

作者: 陳智鈞    時間: 2019-7-5 13:46

  1. import java.util.Scanner;

  2. public class Ch01
  3. {
  4.         static int fai(int n)
  5.         {
  6.                 if(n<2)
  7.                     return n;
  8.                 else
  9.                         return fai(n-2)+fai(n-1);
  10.         }
  11.         public static void main(String[] args)
  12.         {
  13.                 int n;
  14.                 Scanner s=new Scanner(System.in);
  15.                 System.out.print("請問要推算費氏數列到第幾項次? ");
  16.                 n=s.nextInt();
  17.                 for(int i=0;i<=n;i++)
  18.                 {
  19.                         System.out.println(fai(i)+" ");
  20.                 }
  21.         }
  22. }
複製代碼

作者: 謝宗佑    時間: 2019-7-5 13:46

  1. import java.util.Scanner;
  2. public class Ch20
  3. {

  4.         static int  fai(int n)
  5.         {
  6.                 if(n<2)
  7.                         return n;
  8.                 else
  9.                         return fai(n-2)+fai(n-1);
  10.         }
  11.         public static void main(String[] args)
  12.         {
  13.                 int n;
  14.                 Scanner s=new Scanner(System.in);
  15.                 System.out.print("請問要推算費氏數列到第幾項次? ");
  16.                 n=s.nextInt();
  17.                 for(int i=0; i<=n; i++)
  18.                 {
  19.                         System.out.print(fai(i)+" ");
  20.                 }
  21.         }
  22. }
  23.        
  24.        
複製代碼

作者: 蔡杰希    時間: 2019-7-5 13:49

  1. import java.util.Scanner;

  2. public class Ch01
  3. {            
  4.         static int fai(int n)
  5.         {
  6.                 if(n<2)
  7.                         return n;
  8.                 else
  9.                         return fai(n-2)+fai(n-1);
  10.         }
  11.         public static void main(String[]args)
  12.         {
  13.                 int n;
  14.                 Scanner s=new Scanner(System.in);
  15.                 System.out.println("請問要推算費氏數列到第幾次項?");
  16.                 n=s.nextInt();
  17.                 for(int i=0;i<=n;i++)
  18.                 {
  19.                         System.out.println(fai(i)+" ");
  20.                 }
  21.         }

  22. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2