public class FeiBoMethod {
// 使用递归方法
private static int getSum(int num) {
if (num== 1 || num== 2)
return 1;
else
return getSum(num- 1) + getFibo(num- 2);
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前13项为:");
for (int i = 1; i <= 13; i++) {
System.out.print(getSum(i) + "\t");
if (i % 5 == 0)
System.out.println();
}
}
}
使用数组的方式实现
publicclassFeiBoMethod{
//定义数组方法
publicstaticvoidmain(String[]args){
intarr[]=newint[13];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契数列的前13项如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+"\t");
}
}
}
#include "stdio.h"
#include "math.h"
main()
{
float a[13];
int n,i;
float x,y;
for (n=0;n<13;n++)
{
if (n<3)
{
x=1;y=1;
for(i=0;i<=n;i++)
{
x=x*(1+sqrt(5))/2;
y=y*(1-sqrt(5))/2;
}
a[n]=(1/sqrt(5))*(x-y);
}
else
a[n]=a[n-1]+a[n-2];
}
for(n=0;n<13;n++)
{
printf("%6.0f",a[n]);
if((n+1)%5==0)
printf("\n");
}
getch(); /* win-tc*/
}