用java语言写出1 1 2 3 5 8 13 21 34 55 89 144

 我来答
940574849hs
2017-08-15
知道答主
回答量:44
采纳率:0%
帮助的人:20.5万
展开全部

分析:1 1 2 3 5 8 13 21 34 55 89 144 可以发现 从第三个数字开始 第三个数字就是前面两个数字的相加

public class One {

public static void main(String[] args) {

//用java语言写出1 1 2 3 5 8 13 21 34 55 89 144

int nums[] = new int[12];

//临时保存输出的字符串

StringBuffer sb = new StringBuffer();

for(int i = 1; i<= 12 ; i++){

if(i == 1){ 

//i = 1时 把1保存到数组0的地址

nums[i-1]=i;

//把 数组0的值 追加到sb中

sb.append(""+nums[i-1] + " ");

}else if(i == 2){

//i = 2时 把1保存到数组1的地址

nums[i-1]=i-1;

//把 数组1的值 追加到sb中

sb.append(""+nums[i-1] + " ");

}else{

//临时对象 temp1 保存当前数组 i-3 的值

int temp1 = nums[i-3];

//临时对象 temp1 保存当前数组 i-2 的值

int temp2 = nums[i-2];

//当前数组i-1的值 为 数组 i-3 的值  + 数组 i-2 的值

int temp3 = temp1 + temp2;

//把 temp3 保存到当前数组 i-1 

nums[i-1]=temp3;

//把 数组 i-1的值 追加到sb中

sb.append(""+temp3 + " ");

}

}

//输出sb

System.out.println(""+sb);

}

}

结果:

micro0369
2014-11-23 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:3983万
展开全部

类似这样:


fun(n)
{
   if (n == 1) 
     return 1;
    else if(n==2)
     return 1;
    else if (n>2)
     return fun(n) + fun(n-1);
}
追问
用到那些语法?
追答
就是一个递归函数,然后你调用这个函数就是了。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hitzsf
2017-07-10 · TA获得超过2060个赞
知道大有可为答主
回答量:1741
采纳率:78%
帮助的人:1156万
展开全部
import java.util.Arrays;
public class CalenderTest {
    public static void main(String[] args) {
        int [] fibonacci = new int[12];
//        fibonacci[0] = 1;
//        fibonacci[1] = 1;
        for (int i = 0; i < fibonacci.length; i++) {
            if ( i < 2) 
                fibonacci[i] = 1;
            else 
                fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2];
        }
        System.out.println(Arrays.toString(fibonacci));
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
悦悦的小井
2017-06-25 · 超过21用户采纳过TA的回答
知道答主
回答量:88
采纳率:0%
帮助的人:38.5万
展开全部

这个不就是费不拉稀数列吗。。。。

public class Fbnc {
    int f1=1,f2=1; 
    public Fbnc() {
     while(f1<10000)
     {
      System.out.println(f1);
      f2+=f1;
      f1=f2-f1;
     }  
    }
    public static void main(String[] args) {
        Fbnc s =new Fbnc();
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
vortexchoo
2017-07-24 · TA获得超过543个赞
知道小有建树答主
回答量:501
采纳率:40%
帮助的人:87.3万
展开全部
public class Test {

public static void main(String[] args) {

test(0, 0, 11);


}

public static void test(int a, int b, int times) {
if (times == 0) {
return;
}
if (a == 0 && b == 0) {
System.out.println(++a);
System.out.println(++b);
} else {
int temp = a + b;
System.out.println(temp);
a = b;
b = temp;
}
test(a, b, --times);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式