返回列表 發帖

遞迴函式 (二) - 費氏數列

費氏數列 - 維基百科

費氏數列規則如下:
第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. }
複製代碼

  1. import java.util.Scanner;


  2. public class Ch44 {
  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. }
複製代碼

TOP

  1. package ggg;

  2. import java.util.Scanner;

  3. public class Ch55 {
  4. static int fai(int n)
  5.        
  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.println(fai(i)+" ");
  21.         }
  22.         }

  23. }
複製代碼

TOP

  1. package fai;

  2. import java.util.Scanner;

  3. public class fai {


  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.             Scanner s=new Scanner(System.in);
  14.             int n;
  15.             System.out.println("請問要算費氏數列到第幾項?");
  16.             n=s.nextInt();
  17.         for(int i=0; i<=n; i++)
  18.         {
  19.                 System.out.print(fai(i)+" ");
  20.         }
  21.             
  22.         }

  23. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Ch45
  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.                 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. }
複製代碼

TOP

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

TOP

  1. import java.util.Scanner;


  2. public class Ch1
  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.                         System.out.print(fai(i)+" ");
  19.         }

  20. }
複製代碼

TOP

  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.             }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.                  System.out.print(fai(i)+" ");
  20.         }
  21. }
複製代碼

TOP

  1. package likeacat;

  2. import java.util.Scanner;

  3. public class likeacat {
  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.                 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.         }

  22. }
複製代碼

TOP

本帖最後由 何蕙妘 於 2020-2-5 13:38 編輯
  1. public class Ch55 {
  2.     static int fai(int x)
  3.     {
  4.             if(x<2)
  5.                     return x;
  6.             else
  7.                     return fai(x-2)+fai(x-1);       
  8.     }
  9.         public static void main(String[] args)
  10.         {
  11.                 int x;
  12.                 Scanner s=new Scanner(System.in);
  13.                 System.out.print("請問要推算費式數列到第幾項次? ");
  14.                 x=s.nextInt();
  15.                 for(int i=0;i<=x;i++)
  16.                 {
  17.                         System.out.print(fai(i)+" ");
  18.                 }
  19.         }
  20. }
複製代碼

TOP

  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.                 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. }
複製代碼

TOP

  1. import java.util.Scanner;

  2. public class Ch99 {
  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.print("請問要推算費氏數列到第幾項次? ");
  14.             n=s.nextInt();
  15.             for(int i=0;i<=n;i++)
  16.                     System.out.print(fai(i)+" ");
  17.         }
  18. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Ch25 {
  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. }
複製代碼

TOP

返回列表