public class Fibonacci {
public static void main(String args[]){
int n,fn;//n为第n项,fn为第n项的值
java.util.Scanner s = new Scanner(System.in);
n=s.nextInt();
fn=function(n);
System.out.println("斐波那契数列第"+n+"项为:"+fn);
}
public static int function(int n){
if(n==1 || n==2) return 1;
return function(n-1)+function(n-2);
}
}
递归
import java.util.*;
import java.io.*;
public class fib {
static int fib(int n){
if(n==1) return 0;
if(n==2) return 1;
return fib(n-1)+fib(n-2);
}
public static void main(String args[]){
int n;
Scanner cin=new Scanner(System.in);
n=cin.nextInt();
System.out.println(fib(n));
}
}
迭代
import java.util.*;
import java.io.*;
public class fib {
static int fib[]=new int[30];
public static void main(String args[]){
int n;
Scanner cin=new Scanner(System.in);
n=cin.nextInt();
fib[1]=0;fib[2]=1;
for(int i=3;i<=n;i++)
fib[i]=fib[i-1]+fib[i-2];
for(int i=1;i<=n;i++)
System.out.println(fib[n]);
}
}