A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. public class Test1 {

  2.         public static void main(String[] args) {
  3.                 int n;
  4.                 int m;
  5.                 Scanner scanner=new Scanner(System.in);
  6.                 System.err.println("请输入小于30的整数:");
  7.                 n=scanner.nextInt();
  8.                 m=fib(n);
  9.                 System.out.println("斐波那契数列第" + n + "项为:" + m);
  10.                 }

  11.                 public static int fib(int n){
  12.                         int a = 0;
  13.                         int b = 1;
  14.                         for(int c = 1;c < n;c ++)
  15.                         {
  16.                                 a = a + b;
  17.                                 b = a - b;
  18.                         }
  19.                         return a;
  20.                 }
  21.                
  22. }
复制代码

要求输出第n项数,结果输出第n-1项的数,问题出在哪里?

3 个回复

倒序浏览
缺少东西了,按照你的做法
int a=1;
int b=1;
int c;
for(int i= 3 ; i<n ; i++){
   c=b;
   b= a+b;
   a=c;
}
回复 使用道具 举报
赞一个。。
回复 使用道具 举报
清风惜月 发表于 2015-8-28 16:44
缺少东西了,按照你的做法
int a=1;
int b=1;

谢谢大神的指导,我试一试
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马