用递归算法写个程序

njuqiu 2008-02-28 04:28:25
一列数的规则如下 1,1,2,3,5,8,13,21,34,.......求第30位数是多少
...全文
130 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Q_282898034 2008-02-28
  • 打赏
  • 举报
回复
1 楼写的太好了,我在1楼基础上精简了一下
using System;

class Program
{
static void Main(string[] args)
{
Console.WriteLine(ff(30));
}
public static int ff(int i)
{
return i < 2 ? i : ff(i - 1) + ff(i - 2);
}
}
kldx5092 2008-02-28
  • 打赏
  • 举报
回复
up
WeekWant 2008-02-28
  • 打赏
  • 举报
回复
还是1 楼的好啊!~!!
WeekWant 2008-02-28
  • 打赏
  • 举报
回复
我来写个比较鸡肋的!!!!
int a = 0;
int b = 0;
int iCount = 0;
bool bFlag = false;
CountAdd(i)
{
if(i == 0)
{
i++;
a = i;
}
else if(i== 1 && bFlag == false)
{
b = i;
bFlag = true;
}
else if(bFlag == true)
{
i = a + b;
a = b;
b = i;
}
iCount++
if(iCount == 30)
{
return;
}
CountAdd(i);
}
ProjectDD 2008-02-28
  • 打赏
  • 举报
回复
就要向1楼这种人的写法和功力,学习,写代码又少,又关键,有效...
caofan520 2008-02-28
  • 打赏
  • 举报
回复
本台机器没装开发环境
自己手写一个,有错误你自己修改下

private static int GetValue(int len)
{
if(len < 3 )
return 1;
else
{
int result = 0;
for(int i = 1;i < len;i++)
{
result += GetValue(i);
}
return result ;
}
}

自己感觉应该对的
harryheart 2008-02-28
  • 打赏
  • 举报
回复
这样就完了 ?
==============
没完,还要调用
int result=ff(30);

^^
wackyboy 2008-02-28
  • 打赏
  • 举报
回复

public int recursion(int a)
{
if (a == 1)
{
return 1;
}
else if (a == 2)
{
return 1;
}
else
{
return recursion(a - 1) + recursion(a - 2);
}
}
h_w_king 2008-02-28
  • 打赏
  • 举报
回复
第30位数是 = ff(30);
harryheart 2008-02-28
  • 打赏
  • 举报
回复
斐波拉契数列
njuqiu 2008-02-28
  • 打赏
  • 举报
回复
这样就完了 ?
h_w_king 2008-02-28
  • 打赏
  • 举报
回复
 public int ff(int i)
{
if (i == 1) return 1;
if (i == 2) return 1;
return ff(i-1)+ff(i-2);
}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧