有一列数字:1,1,2,3,5,8,13........ 求用递归算法求出第30个数是多少?
请问各位高手,下面的程序算不算运用了递归算法了呢?

public class abc {
int a[] = new int[30];
public abc() {
a[0] = 0 ;
a[1] = 1;
for(int i=2;i<=a.le

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 吴静怡

    18人对此回答表示赞同

    这不能算是递归普通遍历 再说你求的好像是第29个数吧
    展开
    18
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Reagan

    14人对此回答表示赞同

    没有递归
    展开
    14
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 刘福荣

    10人对此回答表示赞同

    这个不算递归,递归明显的特征是“自已调用自己”,设计递归函数要搞清递归终止条件。

    你这个是斐波那契数列,很简单
    int fab(int n)
    {
    return n<2 ? 1: fab(n-1)+fab(n-2);
    }

    你要算第30个,就调用 fat(30)

    用C++完整地写个使用例子:
    #include <iostream>
    using namespace
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 置之度外

    3人对此回答表示赞同

    不算把,这个只是简单的遍历而已。如果你abc方法中又掉用到了abc,这样就算递归了。

    我给一个参考的递归:
    public int abc(number){
    if(number<=2){
    return 1;
    }else{
    return abc(number-1)+abc(number-2);
    }
    }
    我没执行过,只是说明大概这么个意思,具体的结果
    展开
    3
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Mika

    1人对此回答表示赞同

    递归说简单点就是一个函数反复调用自己。一般形式是
    abc(){
    if(...){
    abc();//这里就是调用自己,如果条件满足,这个里面还会再次调用自己。直到不满足。
    }else{
    ...
    }
    }
    你这个不是递归
    展开
    1
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部