標題:
遞迴函式 (二) - 費氏數列
[打印本頁]
作者:
tonyh
時間:
2019-1-25 11:55
標題:
遞迴函式 (二) - 費氏數列
本帖最後由 tonyh 於 2019-1-25 13:26 編輯
費氏數列 - 維基百科
費氏數列規則如下:
第n項 = 第 n-1 項 + 第 n-2 項
即整個費式數列為:
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377...
試完成一程式,能推算費氏數列至指定項次:
import java.util.Scanner;
public class Ch50 {
static int fai(int n)
{
if(n<2)
return n;
else
return fai(n-2)+fai(n-1);
}
/*
值: 0 1 1 2 3 5 8
項: 0 1 2 3 4 5 6
fai(5)
=fai(3)+fai(4)
=fai(1)+fai(2)+fai(2)+fai(3)
=1+fai(0)+fai(1)+fai(0)+fai(1)+fai(1)+fai(2)
=1+0+1+0+1+1+fai(0)+fai(1)
=1+0+1+0+1+1+0+1
=5
*/
public static void main(String[] args)
{
int n;
Scanner s=new Scanner(System.in);
System.out.print("請問要推算費氏數列到第幾項次? ");
n=s.nextInt();
for(int i=0; i<=n; i++)
{
System.out.print(fai(i)+" ");
}
}
}
複製代碼
作者:
孫焌仁
時間:
2019-1-25 13:30
import java.util.Scanner;
public class Ch10
{
static int fai(int n)
{
if(n<2)
return n;
else
return fai(n-2)+fai(n-1);
}
public static void main(String args[])
{
int n;
Scanner s=new Scanner(System.in);
System.out.print("請問要推算費氏樹列到第幾項次?");
n=s.nextInt();
for(int i=0;i<=n;i++)
{
System.out.println(fai(i)+" ");
}
}
}
複製代碼
作者:
趙一鳴
時間:
2019-1-25 13:33
import java.util.Scanner;
public class Ch12
{
static int count(int a)
{
if(a==1)
return 1;
if(a==0)
return 0;
else
return count(a-1)+count(a-2);
}
public static void main(String[] args)
{
int a;
Scanner s=new Scanner(System.in);
System.out.print("請輸入你要計算到第幾項次: ");
a=s.nextInt();
for(int i=0;i<a;i++)
{
System.out.print(" "+count(i));
}
}
}
複製代碼
作者:
林育鋐
時間:
2019-1-25 13:33
import java.util.Scanner;
public class Ch16 {
static int fai(int n)
{
if(n<2)
return n;
else
return fai(n-2)+fai(n-1);
}
public static void main(String[] args) {
int n;
Scanner s=new Scanner(System.in);
System.out.print("請問要推算費氏數列到第幾項次? ");
n=s.nextInt();
for(int i=0; i<=n; i++)
{
System.out.print(fai(i)+" ");
}
}
}
複製代碼
作者:
楊于暄
時間:
2019-1-25 13:34
本帖最後由 楊于暄 於 2019-1-25 13:36 編輯
import java.util.Scanner;
public class Ch33
{
static int fai(int n)
{
if(n<2)
return n;
else
return fai(n-2)+fai(n-1);
}
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int n;
System.out.print("請問要推算費是數列到第幾項? ");
n=s.nextInt();
for(int i=0; i<=n; i++)
System.out.print(fai(i)+" ");
}
}
複製代碼
作者:
楊貳鈞
時間:
2019-1-25 13:36
本帖最後由 楊貳鈞 於 2019-1-25 13:40 編輯
import java.util.Scanner;
public class Ch03
{
static int fai(int n)
{
if(n<2)
return n;
else
return fai(n-2)+fai(n-1);
}
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int n;
System.out.print("請問要推算費氏數列到第幾項次? ");
n=s.nextInt();
for(int i=0; i<=n; i++)
{
System.out.print(fai(i)+" ");
}
}
}
複製代碼
作者:
王騰立
時間:
2019-1-25 13:40
import java.util.Scanner;
public class Ch20
{
static int fai(int n)
{
if(n<2)
return n;
else
return fai(n-2)+fai(n-1);
}
public static void main(String[] args)
{
int n;
Scanner s=new Scanner(System.in);
System.out.print("請問要推算費氏數列到第幾項次? ");
n=s.nextInt();
for(int i=0; i<=n; i++)
{
System.out.print(fai(i)+" ");
}
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://seed.istak.org.tw/)
Powered by Discuz! 7.2