也就是说:如输入8的话,在控制台的输出结果:1 1 2 3 5 8 
也就是说:如输入15的话,在控制台的输出结果:1 1 2 3 5 8 13 
也就是说:如输入16的话,在控制台的输出结果:1 1 2 3 5 8 13 
也就是说:如输入80的话,在控制台的输出结果:1 1 2 3 5 8 13 21 34 55 
就这样我不记得怎么输了,求教专业人士。

解决方案 »

  1.   

    1 1 2 3 5 …… n m m+n
    每个数都是前面两个数的和,最在的那个数不能超过你输入的数。
      

  2.   

    。。
    void fun(int t){
      int r1=1,r2=0;
      if(t<0)
        return;
      while (r1<=t){
        System.out.print(r1+"\t");
        r1=r1+r2;
        r2 = r1;
      }
    }
      

  3.   

    问题是什么?java程序如何读取我们在控制台上的输入?
      

  4.   

    void fun(int t) {
    int r1 = 0, r2 = 1,temp=0;
    if (t < 0)
    return;
    while (r2 <= t) {
    System.out.print(r2 + "\t");
    temp=r1;
    r1=r2;
    r2 = temp+r2;
    }
      

  5.   

    public int fun1(int num){
      if(num == 1 || num == 2){
        num = 1;
      }else{
        return fun(num - 1) + fun(num - 2);
      }
    }public void fun2(int num){
      int temp = 0;
      for(int i = 1; i <= num; i++){
        temp = fun(i);
        if(temp >= num) break;//终止循环
        System.out.println(temp);
      }
    }public void main(String[] args){
       fun2(15);
    }
    /*执行过程
    num = 15;i = 1;
    temp = 1;i = 2;
    temp = 1;i = 3;
    temp = 2;i = 4;
    temp = 3;i = 5;
    temp = 5;i = 6;
    temp = 8;i = 7;
    temp = 13;i = 8;
    temp = 21;temp >= num成立,退出循环。打印结果:
    1
    1
    2
    3
    5
    8
    13
    */
    想了好久,搞定!
      

  6.   


    public int fun1(int num){ 
      if(num == 1 ¦ ¦ num == 2){ 
        num = 1; 
      }else{ 
        return fun(num - 1) + fun(num - 2); 
      } 
    } public void fun2(int num){ 
      int temp = 0; 
      for(int i = 1; i <= num; i++){ 
        temp = fun(i); 
        if(temp >= num) break;//终止循环 
        System.out.println(temp); 
      } 
    } public void main(String[] args){ 
      fun2(15); 

    /*执行过程 
    num = 15; i = 1; 
    temp = 1; i = 2; 
    temp = 1; i = 3; 
    temp = 2; i = 4; 
    temp = 3; i = 5; 
    temp = 5; i = 6; 
    temp = 8; i = 7; 
    temp = 13; i = 8; 
    temp = 21;temp >= num成立,退出循环。 打印结果: 






    13 
    */ 
    上面的看着不舒服,再来一个。
      

  7.   

    void test(int a){
     int i=1;
     int temp =1;
     do{
     System.out.print(temp+" ");
     System.out.print(i+" ");
     if(i+temp <a ){
     temp =i+temp;
     }
     i = temp+i;
     }while(i <= a);
    }