朋友问了个斐波那契算法。我给出了个递归算法

public static int Foo(int n)
{
if (n <= )
{
return n;
}
else
{
return Foo(n - ) + Foo(n - );
}
}

结果被打击了,说递归效率不行啊,于是网上饿补了下,发现很多方法,总结了两个

1. 递推工式 num[i + 2] = num[i + 1] + num[i];

        public static int GetNum1(int n)
{
int result = ;
if (n <= )
{
result = n;
}
else
{
int[] num = new int[n];
num[] = ;
num[] = ; System.Console.Write(num[] + " " + num[] + " ");
for (int i = ; i <n-; i++)
{
num[i + ] = num[i + ] + num[i];
result = num[i + ];
System.Console.Write(result + " ");
}
} return result;
}

2. 更简单的算法,这个很高级哦

y就是当前第n个值
x就是当前第n-1个的值
        public static void GetNum2(int n)
{
if (n <= )
{
Console.WriteLine(n);
}
else
{
int x = , y = ;
for (int i = ; i <= n; i++, y = x + y, x = y - x)
{
Console.WriteLine(y + " ");
}
}
}

最新文章

  1. sqllite 默认当前日期写法
  2. 【Alpha版本】冲刺阶段——Day 7
  3. 【SPOJ 1812】Longest Common Substring II
  4. Scss sass
  5. group_concat
  6. 邮件应用Acompli和日历应用Sunrise(传微软曾考虑以80亿美元收购企业通讯公司Slack)
  7. Hadoop1.x原理
  8. spring整合ActiveMq
  9. server后台TCP连接存活问题
  10. 对于已经添加引用,还找不到类型或名字空间的错误及svn客户端清除用户帐号密码
  11. P1744 采购特价商品 最短路径
  12. 设计模式学习心得&lt;单利模式 Singleton&gt;
  13. CAD中的各种Polyline
  14. ORA-03113:通信通道的文件结尾-完美解决方案
  15. Dalvik与JVM区别
  16. jasmine-行为驱动测试
  17. Graph_Master(连通分量_E_Hungry+Tarjan)
  18. Docker Mysql主主同步配置搭建Demo
  19. Edit Distance——经典的动态规划问题
  20. openwrt web管理luci界面修改

热门文章

  1. CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂 中二版
  2. iOS 日志管理异常捕获组件LFLogManager
  3. HDU 4642 Fliping game (2013多校4 1011 简单博弈)
  4. GCC编绎详解
  5. [Bug]IE11下,forms认证,出现无法保存cookie的问题
  6. VUE -- 如何快速的写出一个Vue的icon组件?
  7. JS isNaN()函数
  8. JS中for和forEach的区别
  9. c++ opencv3.4 保存和读取PCA模型
  10. Python 面试中 8 个必考问题(转载)