首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

1,1,2,3,5,8,13,21,34求第30个数是多少(要求施用递归算法)

2012-12-20 
1,1,2,3,5,8,13,21,34求第30个数是多少(要求使用递归算法)如题,求源码,求各位大大教我~~~~~[最优解释]impo

1,1,2,3,5,8,13,21,34求第30个数是多少(要求使用递归算法)
如题,求源码,求各位大大教我~~~~~
[最优解释]


import java.util.ArrayList;


public class DefaultClass {
public static void main(String[] args) {
ArrayList<Integer> result = new ArrayList<Integer>();
result.add(1);
result.add(1);
addNewValue(result);
System.out.println(result);
}
public static void addNewValue(ArrayList<Integer> array){
if (array.size()<=30) {
array.add(array.get(array.size()-1) + 
array.get(array.size()-2));
addNewValue(array);
}
}
}

好吧。。我是来挣分的。。
[其他解释]
你看到了规律了吗!!!就是后一项是前两项的和,递归的话很简单的。。还是建议lz多看一下书吧。。。
[其他解释]
f(n)=f(n-1)+f(n-2)算法楼主自己学习去吧 我们写出来 对你不好
[其他解释]
这不是兔子生兔子的那个问题吗?
假设n表示月数,f(n)表示n个月后兔子总数
则 if n==1 or n==2
f(n) =1
else
f(n) = f(n-1)+f(n-2)
我尝试使用java和go,发现使用数组会是个好办法,要不然会运行n次,因为中间会有重复计算的部分
[其他解释]
1+1=2,1+2=3,2+3=5,3+5=8...
[其他解释]
斐波那契数列亲
[其他解释]
顶啊!!!!!!!
[其他解释]
递归很简单:
给你代码,分我收了

public class Text1 {

/**
 * @param args
 */
public static void main(String[] args) {
System.out.println(dg(30)); //第三十个
}

public static int dg(int count){
if(count==2 
[其他解释]
 count== 1){
return 1;
}else {
return dg(count-1)+dg(count-2);
}
}
}

[其他解释]
引用:
递归很简单:
给你代码,分我收了


Java code



123456789101112131415161718

public class Text1 {       /**      * @param args      */    public static void main(String[] args) {         System.out.println(……


+1
[其他解释]
引用:
递归很简单:
给你代码,分我收了
Java code123456789101112131415161718public class Text1 {     /**     * @param args     */    public static void main(String[] args) {        System.out.println(dg(30));……


+1
[其他解释]
5楼可以~~~
------其他解决方案--------------------


引用:
递归很简单:
给你代码,分我收了


Java code?



123456789101112131415161718

public class Text1 {       /**      * @param args      */    public static void main(String[] args) {         System.out.println……

++
[其他解释]
引用:
递归很简单:
给你代码,分我收了


Java code?



123456789101112131415161718

public class Text1 {       /**      * @param args      */    public static void main(String[] args) {         System.out.println……

这个绝对没错
[其他解释]
package com;


public class Computing {

    /**
     * 1,1,2,3,5,8,13,21,34
     * @param args
     */

    public static void main(String[] args) {

        // TODO Auto-generated method stub
        int a[] =new int[30];
        a[0]=1;
        a[1]=1;
        for(int i=2;i<30;i++){
            a[i]=a[i-1] +a[i-2];
            System.out.println("第"+(i+1)+"个数是:"+a[i]);
        }
        System.out.println("第三十个数是:"+a[29]);

    }

}

热点排行