ylbtech-Arithmetic:Console-算法-递归算法示例
1.A,案例
-- ========================================================
-- ylb:算法
-- type:递归算法
-- thankyou:sunshine, 谢谢你的默默付出
-- 10:50 2012-04-06
-- ========================================================
1.B,解决方案

1.B.1,阶乘

using System;namespace ConsoleApplication1
{class Program{/// <summary>/// ylb:阶乘/// </summary>/// <param name="args"></param>static void Main(string[] args){//7!=7*6*5*4*3*2*1//n!=n*(n-1)!//结束 1!=1Console.WriteLine("请输入一个大于0的整数");int num = Convert.ToInt32(Console.ReadLine());Console.WriteLine(string.Format("这个整数{0}的阶乘为:{1}", num, fun(num)));}static int fun(int num){if (num == 1){return 1;}else{return num * fun(num - 1);}}}
}

1.B.2,一个经典的递归试题(一列数的规则如下: 1、1、2、3、5、8、13、21、34...... )

using System;namespace ConsoleApplication1
{class Program{static void Main(string[] args){//一列数的规则如下: 1、1、2、3、5、8、13、21、34...... //求第30位数是多少, 用递归算法实现。 Console.WriteLine("请输入一个大于0的整数");int num = 30;Console.WriteLine(string.Format("求第{0}位数是{1}", num, fun(num)));}static int fun(int num){if (num <= 0){return 0;}else if (num <= 2){return 1;}else{return fun(num - 1) + fun(num - 2);}}}
}

1.B.2.2,一个经典的递归试题(一列数的规则如下: 1、1、2、3、5、8、13、21、34...... )(常规方法解决)
using System;namespace ConsoleApplication1
{class Program{static int Fun(int i){int sum=0;int temp=1;int temp2=1;if(i<=0){sum=0;}else if(i<=2){sum=1;}else{for(int j=3;j<=i;j++){sum=temp+temp2;temp=temp2;temp2=sum;}}return sum;}/// <summary>/// ylb:常规方法解决(非递归)/// </summary>/// <param name="args"></param>static void Main(string[] args){Console.WriteLine(Fun(20));}}
}

作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/ylbtech/archive/2013/02/22/2922032.html

Console-算法-递归算法示例相关推荐

  1. 【计算机网络】数据链路层 : CSMA/CD 协议 ( 载波监听多点接入 / 碰撞检测 协议 | 单程端到端传播时延 | 截断二进制指数规避算法 | 计算示例 | 最小帧长问题 )★

    文章目录 一. CSMA/CD 协议 二. 传播时延对于 载波监听 的影响 三. 单程端到端传播时延 相关概念 四. 碰撞后重传时机 ( 截断二进制指数规避算法 ) 五.截断二进制指数规避算法 计算示 ...

  2. python算法实现源码_python 实现A_算法的示例代码

    python 实现A_算法的示例代码 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  python 实现A_算法的示例代码.txt ] (友情提示:右键点上行txt ...

  3. boost::graph模块实现资源受限最短路径算法的示例使用

    boost::graph模块实现资源受限最短路径算法的示例使用 实现功能 C++实现代码 实现功能 boost::graph模块实现资源受限最短路径算法的示例使用 C++实现代码 #include & ...

  4. boost::geometry模块多边形DP算法简化示例

    boost::geometry模块多边形DP算法简化示例 实现功能 C++实现代码 实现功能 boost::geometry模块多边形DP算法简化示例 C++实现代码 #include <boo ...

  5. python商用_python实现sm2和sm4国密(国家商用密码)算法的示例

    GMSSL模块介绍 GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法.项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用. 安 ...

  6. java克鲁斯卡尔算法_Java语言基于无向有权图实现克鲁斯卡尔算法代码示例

    所谓有权图,就是图中的每一条边上都会有相应的一个或一组值.通常情况下,这个值只是一个数字 如:在交通运输网中,边上的权值可能表示的是路程,也可能表示的是运输费用(显然二者都是数字).不过,边上的权值也 ...

  7. python 代码排布_python实现经典排序算法的示例代码

    以下排序算法最终结果都默认为升序排列,实现简单,没有考虑特殊情况,实现仅表达了算法的基本思想. 冒泡排序 内层循环中相邻的元素被依次比较,内层循环第一次结束后会将最大的元素移到序列最右边,第二次结束后 ...

  8. 人工蜂群算法python_python如何实现人工蜂群算法 python实现人工蜂群算法代码示例...

    python如何实现人工蜂群算法?本篇文章小编给大家分享一下python实现人工蜂群算法代码示例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. ABSIndividual. ...

  9. python:算法——递归算法

    python:算法--递归算法 1.什么是递归算法 ​ 在计算机中,程序调用自身的编程技巧我们称之为递归算法.那么再通俗一点来讲就是:在某个python文件中,有一个函数,这个函数可以在自己的函数体内 ...

最新文章

  1. 阿里开源组装式 Flutter 应用框架 Fish Redux
  2. Python 实现整数线性规划:分枝定界法(Branch and Bound)
  3. 超图桌面版新建一个简单三维数据集并发布
  4. c语言鼠标下棋,c语言写的鼠标操作的五子棋游戏,欢迎观赏!
  5. 微服务 | 我为啥不看好 ServiceMesh
  6. 学习Qt的资源-网站、论坛、博客等
  7. PHP匹配函数怎么用,php preg_match_all函数怎么用
  8. wxWidgets:印刷Printing
  9. 逻辑分析题汇总(一)
  10. Android音频焦点AudioFocus使用
  11. php 判断时间超过5分钟_视频超过5分钟怎么在微信中进行发送
  12. c语言实现鼠标驱动,鼠标驱动程序
  13. 职业经理人十大修炼指南 [完全版]
  14. 从牛顿-莱布尼兹公式到变限积分求导
  15. POI使用公式的问题,POI对excel函数的支持
  16. excel工作表保护
  17. EAS Web:新增按钮弹出新页签
  18. 序列化器serializers的使用
  19. 「黑镜」回归!剧中的杀戮机械狗或在两年内来到你身边
  20. Office365 E5 开发者订阅免费申请3个月

热门文章

  1. 软件:常用 Linux 软件汇总,值得收藏!
  2. 盘点关于IDEA的几个调试的实用技巧
  3. 进程与线程的区别:最浅显易懂的解释
  4. MongoDB高可用集群搭建
  5. 实现Windows和Linux之间的文件共享
  6. win7旗舰版6l打印机咋安驱动_在w7旗舰版上怎么安装HPlaserjet6L打印机?
  7. jmeter如何定位网络延时_JMeter用户定义变量和properties变量高级使用
  8. 一步步创建 边栏 Gadget(二)
  9. upc组队赛15 Supreme Number【打表】
  10. Docker镜像构成和定制