黑马程序员技术交流社区
标题:
基础测试题-求斐波那契数列第n项,n<30
[打印本页]
作者:
李云贵
时间:
2014-7-19 14:13
标题:
基础测试题-求斐波那契数列第n项,n<30
import java.util.Scanner;
/*
* 第二题:求斐波那契数列第n项,n<30
*/
public class Test2{
public static void main(String args[]){
//定义一个整数变量,记录第n项的值
int fn;
//创建一个键盘扫描类对象
Scanner input = new Scanner(System.in);
//输出提示
System.out.println("请输入一个小于30整数");
//输入整数
int n = input.nextInt();
//关闭input
input.close();
//判断输入是否符合 n<30
if(n<=0||n>=30){
System.out.println("不正确的输入");
return;
}
//调用求斐波那契第n项的函数
fn=fb(n);
//输出结果
System.out.printf("斐波那契数列第 %d 项为 %d", n,fn);
}
//递归函数求斐波那契第n项
public static int fb(int n){
//前两项都是1
if(n<3) return 1;
//递归调用,返回前两项的和
return fb(n-2)+fb(n-1);
}
}
作者:
.Mч┞尛__洋
时间:
2014-7-19 19:14
你还可以尝试一下 大数求斐波那契数列 杭电ACM 上面的
作者:
M单色调
时间:
2014-7-19 21:48
递归。我考这道题的时候用的是循环。
作者:
DSY
时间:
2014-7-19 23:28
我也用的for循环 不知道哪种更效率,虽然递归代码很简洁
作者:
止询初衷
时间:
2014-7-19 23:52
这是个什么数????????
作者:
小乖乖灬浩歌
时间:
2014-7-19 23:59
递归的效率一般都慢 但是现代的编译器会进行优化 最终效果比原生会 比循环低
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2