题目:
一个斐波那契数列是由数字1、1、2、3、5、8、13、21、34等等组成的,其中每一个数字(从第三个数字起)都是前两个数字的和。创建一个方法,接受一个整数参数,并显示从第一个元素开始总共由该参数指定的个数所构成的所有斐波那契数字。例如,如果运行java Fibonacci 5(其中Fibonacci是类名),那么输出就应该是1、1、2、3、5。
下面是我的解法:
package src;
public class Fibonacci {
static void fib(int end){
//斐波那契数列的两个开始值1,1
int a = 1;
int b = 1;
//计数器,用来控制每行打印数字的个数
int count = 2;
//输出开始的两个值
System.out.print(a + " ");
System.out.print(b + " ");
//判断斐波那契数列中较大的那个值是不是大于给定的值
while(b < end){
//计算第一个数
a = a + b;
//判断计算出来的新值是否小于给定的值
if(a <= end){
System.out.print(a + " ");
}else{
break;
}
//计算第二个值
b = a + b;
//判断计算出来的新值是否小于给定的值
if(b <= end){
System.out.print(b + " ");
}
//控制每行打印10个数字
count = count + 2;
if(count%10 == 0){
System.out.println();
}
}
}
public static void main(String[] args){
//测试数据100
//出力的结果是:1 1 2 3 5 8 13 21 34 55
// 89
fib(100);
}
}