实验一
学号20145332 《Java程序设计》实验一
题目解释
Fibonacci数列:
“斐波那契数列”指的是这样一个数列:1、1、2、3、5、8、13、21、…… 这个数列从第三项开始,每一项都等于前两项之和,通项公式为:an=(1/√5)*[(1+√5/2)n-(1-√5/2)n](n=1,2,3.....)
实验思想
用递归实现
实验
实验代码如下:
import java.util.Scanner;
public class Finbonacci
{
public static void main(String args[])
{
int ri,repeat;
int i, m, n;
long f;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++)
{
m=in.nextInt();
n=in.nextInt();
i=1;
f=1;
while(f<=n)
{
if(f>=m) System.out.print(f+" ");
i++;
f=fib(i);
}
System.out.println();
}
}
static long fib(int n)
{
int i;
long a=1,b=1,f=1;
for(i=3;i<=n;i++)
{
f=a+b;
a=b;
b=f;
}
return f;
}
}
实验代码解释:
输入一个正整数(在10以内),表示重复正整数次下列运算;
输入2 个正整数m和n(1<=m,n<=10000),输出m 和n之间所有的Fibonacci数。
例如:
输入:
2 (做两次运算)
1 10 (计算1到10以内的Fibonacci数)
4 20 (计算4到20以内的Fibonacci数)
输出:
1 1 2 3 5 8
5 8 13
结果截图: