1,1,2,3,5,8,13,21
第30数字多少?用递归
第30数字多少?用递归
解决方案 »
- 我做得一个异步通讯的程序,可是2边都得不到对方得数据,很怪。。。这个第一次做,请帮忙看看
- 一个后台线程与前台交互一般有什么方式
- 在关闭本机机器视觉效果的情况下,,,,给应用程序(winform)应用系统XP风格!!(就是给程序加皮肤!)
- 当数据绑定设置visible="false"时后台无法取值
- C#连接数据库的问题
- 谁能教教我如何调用shdocvw.dll,新手,真正的新手,请感觉一下你们十岁时学这个的心情。。。。
- 用form.username代替Request.Form["username"]
- 怎样使datagrid的某个数据列成为可编辑列?
- c#检测已安装的程序
- 菜鸟问题 c#怎样连接到数据库(急!!!)
- 通过datagridview添加修改删除xml节点
- 关于&&和&的疑难杂症
public static Int32 GetNum(Int32 n)
{
if (n == 1 || n == 2)
return 1;
else
return GetNum(n - 2) + GetNum(n - 1);
}
{
return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
}
{
Func<int, int> Fibonacci = null;
Fibonacci = i => i <= 2 ? 1 : Fibonacci(i - 1) + Fibonacci(i - 2);
Console.WriteLine(Fibonacci(6));
Console.ReadKey();
}
{
Func<int, int> Fibonacci = null;
Fibonacci = i => i <= 2 ? 1 : Fibonacci(i - 1) + Fibonacci(i - 2);
Console.WriteLine(Fibonacci(30));
Console.ReadKey();
}
非常好 受教啦斐波那契static int Fibonacci(int index)
{
return index <= 2 ? 1 : Fibonacci(index - 1) + Fibonacci(index - 2);
}
这个更简单 呵呵
public static Int32 Fibonac(Int32 n)
{
if (n <=2)
return 1;
else
return Fibonac(n - 1)+Fibonac(n - 2);
}
结果是:1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040
第30数字是832040
高手和新手都可以在这里讨论。
{
public class Program
{
public static void Main()
{
Func<Int32, Int64> fib = null;
fib = (x => x <= 2 ? 1 : fib(x - 1) + fib(x - 2));
Console.WriteLine("第30个数字是:{0}", fib(30));
}
}
}
//第30个数字是:832040
需要vs2008或以上的版本支持