標題:
遞迴函式 (二) - 費氏數列
[打印本頁]
作者:
tonyh
時間:
2021-1-27 13:04
標題:
遞迴函式 (二) - 費氏數列
費氏數列 - 維基百科
費氏數列規則如下:
第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)+" ");
}
}
}
複製代碼
作者:
劉凱閔
時間:
2021-1-27 13:21
import java.util.Scanner;
public class Ch04 {
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)+" ");
}
}
}
複製代碼
作者:
吳聲寬
時間:
2021-1-27 13:21
本帖最後由 吳聲寬 於 2021-1-27 13:23 編輯
import java.util.Scanner;
public class Ch10
{
static int f(int n)
{
if(n<2)
return n;
else
return f(n-2)+f(n-1);
}
public static void main(String[] args)
{
Scanner s=new Scanner(System.in);
int a;
System.out.print("Enter your amout: ");
a=s.nextInt();
for(int i=0;i<=a;i++)
System.out.print(f(i)+" ");
}
}
複製代碼
作者:
李柏穎
時間:
2021-1-27 13:23
import java.util.Scanner;
public class Ch01
{
static int f(int n)
{
if(n<2)
return n;
else
return f(n-2)+f(n-1);
}
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(f(i)+" ");
}
}
複製代碼
作者:
卓炘暘
時間:
2021-1-27 13:24
import java.util.Scanner;
public class Ch01
{
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)+" ");
}
}
}
複製代碼
作者:
楊小萱
時間:
2021-1-27 13:24
import java.util.Scanner;
public class Ch05
{
static int fai(int n)
{
if(n<2)
return n;
else
return fai(n-1)+fai(n-2);
}
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)+" ");
}
}
}
複製代碼
作者:
王睿宇
時間:
2021-1-27 13:24
import java.util.Scanner;
public class AS02 {
static int f(int x){
if(x<=1)
return x;
else
return f(x-1)+f(x-2);
}
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.print("要求費氏數列的第幾項: ");
int n=s.nextInt();
for(int i=0; i<=n; i+=1)
System.out.print(f(i)+" ");
}
}
複製代碼
作者:
藍健洲
時間:
2021-1-27 13:25
import java.util.Scanner;
public class Ch01 {
static int f(int n)
{
if(n<2)
return n;
else
return f(n-2)+f(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(f(i)+" ");
}
}
}
複製代碼
作者:
紀承典
時間:
2021-1-27 13:25
import java.util.Scanner;
public class Ch02 {
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)+" ");
}
}
}
複製代碼
作者:
楊澤全
時間:
2021-1-27 13:26
import java.util.Scanner;
public class Ch06
{
static int f(int i)
{
if(i<2)
return i;
else
return
f(i-1)+f(i-2);
}
public static void main(String[] args)
{
int n;
Scanner a=new Scanner(System.in);
System.out.print("請問要推算費是數列到第幾次?");
n=a.nextInt();
for (int i=0;i<=n;i++)
{
System.out.print(f(i)+" ");
}
}
}
複製代碼
作者:
王博裕
時間:
2021-1-27 13:26
import java.util.Scanner;
public class Ch02 {
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)+" ");
}
}
}
複製代碼
作者:
李柏穎
時間:
2021-1-27 13:41
import java.util.Scanner;
public class Ch01
{
static int f(int n)
{
if(n==1)
return 1;
else
return n*f(n-1);
}
public static void main(String[] args)
{
int a;
Scanner s=new Scanner(System.in);
System.out.print("請輸入階層運算的值: ");
a=s.nextInt();
System.out.print(f(a));
}
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2