用C#递归求第19位数

杏鲍菇 2009-05-20 01:20:33
有这样一列数 1 3 6 11 19 ....
求第十九位数
请用C# 递归实现

这是我面试时候公司出的笔试题
...全文
114 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
南哥1207 2009-05-22
  • 打赏
  • 举报
回复
f(n)=f(n-1)+f(n-2)+2 n > 2 不对吗?
杏鲍菇 2009-05-22
  • 打赏
  • 举报
回复
谢谢6楼的兄弟,呵呵
llsen 2009-05-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hecker728 的回复:]
C# code
private int getValue(int n)
{
if (1 == n)
{
return 1;
}
else if (2 == n)
{
return 3;
}
else
{
return getValue(n - 1) + getValue(n - 2) + 2;
}
}
[/Quote]

改下

 private int getValue(int n)
{
if (1 == n)
{
return 1;
}
else if (2 == n)
{
return 3;
}
else if(0 >= n)
{
return 0;
}
{
return getValue(n - 1) * 2 - getValue(n - 2);
}
}
yangjiang113 2009-05-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yuehuolong 的回复:]
1
0 + 1= 3-2
1 + 3= 6-2
3 + 6=11-2
6 +11=19-2
11+19=??-2
private static int GetData(int count)
{
if (count <= 1)
{
return 1;
}
else if (count == 2)
{
return 3;
}
else
{
return GetData(count - 1) +…
[/Quote]

正解
duanlifeng 2009-05-20
  • 打赏
  • 举报
回复
同意4楼的,正确
南哥1207 2009-05-20
  • 打赏
  • 举报
回复
和楼上的重复了~
zcw840421 2009-05-20
  • 打赏
  • 举报
回复
根据2楼的分析,我看到了公式f(n)=f(n-1)*2-f(n-3)
所以方法如下
public int GetNo(int n)
{
int resultNo = 0;
if (n == 1)
{
resultNo = 1;
}
else
if (n == 2)
{
resultNo = 3;
}
else
if (n == 3)
{
resultNo = 6;
}
else
{
resultNo = GetNo(n - 1) * 2 - GetNo(n - 3);
}
return resultNo;
}
南哥1207 2009-05-20
  • 打赏
  • 举报
回复
1
0 + 1= 3-2
1 + 3= 6-2
3 + 6=11-2
6 +11=19-2
11+19=??-2
private static int GetData(int count)
{
if (count <= 1)
{
return 1;
}
else if (count == 2)
{
return 3;
}
else
{
return GetData(count - 1) + GetData(count - 2) + 2;
}
}
比较笨的方法~
hecker728 2009-05-20
  • 打赏
  • 举报
回复

private int getValue(int n)
{
if (1 == n)
{
return 1;
}
else if (2 == n)
{
return 3;
}
else
{
return getValue(n - 1) + getValue(n - 2) + 2;
}
}
rczjp 2009-05-20
  • 打赏
  • 举报
回复
mark...
CeleryZeng 2009-05-20
  • 打赏
  • 举报
回复
怎么写代码呢···学习中
chenchangxiong 2009-05-20
  • 打赏
  • 举报
回复
3 - 1 = 2
6 - 3 = 3
11 - 6 = 5
19 - 11 = 8

2, 3, 5, 8
是什么非列什么数列的 具体名字忘了
2 + 3 = 5
3 + 5 = 8;

110,533

社区成员

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

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

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