一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。
推荐于2018-03-14
展开全部
思路:第N个数是第N-1 和第N-2个数的和 N>2public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i -1) + Foo(i - 2);
}
}
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if(i > 0 && i <= 2)
return 1;
else return Foo(i -1) + Foo(i - 2);
}
}
2013-11-24
展开全部
这是斐波那契数列,前第三个数是两个数之和,用着个规律就行了 #include <stdio.h>
int Fb(int x)
{
int x1=1,x2=1;
if(x==1)
return x1;
else
if(x==2)
return x2;
else
return Fb(x-1)+Fb(x-2);
}
int main(){
int n;
printf("您要求的是第几位?请输入:");
scanf("%d",&n);
printf("它是:%d\n",Fb(n));
return 0;
}
int Fb(int x)
{
int x1=1,x2=1;
if(x==1)
return x1;
else
if(x==2)
return x2;
else
return Fb(x-1)+Fb(x-2);
}
int main(){
int n;
printf("您要求的是第几位?请输入:");
scanf("%d",&n);
printf("它是:%d\n",Fb(n));
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-24
展开全部
这个东西也不需要递归啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-24
展开全部
#include<iostream.h>
int fiboArray(int n);
void main()
{
int n;
cin>>n;
cout<<fiboArray(n)<<endl;
}
int fiboArray(int n)
{
if(n==1)
return 1;
else if(n==2)
return 1;
else
return fiboArray(n-1)+ fiboArray(n-2);
}
int fiboArray(int n);
void main()
{
int n;
cin>>n;
cout<<fiboArray(n)<<endl;
}
int fiboArray(int n)
{
if(n==1)
return 1;
else if(n==2)
return 1;
else
return fiboArray(n-1)+ fiboArray(n-2);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-24
展开全部
for(int i=1;i <= 30;i++){ for(int j=0;;){ for(int k=1;;) }}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询