追着嘟嘟学c#系列基础第十二篇-----c#递归【蓝鸥出品】
2016-09-22 17:37
357 查看
代码:
using System;
namespace Lesson12
{
public class Math{
// 递归就是在方法内部调用方法本身
// 1.
递归必须有结束条件(不能是死循环)
// 2.
将大的复杂的问题分解为与原问题类似的小问题来解决,并且小问题和原问题是同一问题并且更加简单
public int F(int n){
// 结束条件
if (n > 1) {
// 进行递归
return F (n - 1) + n;
} else {
return 1;
}
}
public long A(long n){
if(n>1){
return A (n - 1) * n;
}else{
return 1;
}
}
}
class MainClass
{
public static void Main (string[] args)
{
// 计算1 + 2 + 3 。。。+99+100的和
/*
* f(n)=1+2+3+4+...+n
*
*
* f(4)=1+2+3+4
* f(5)=1+2+3+4+5
* f(6)=f(5)+6
*
* f(n)=f(n-1)+n;
*
*
*/
// 递归解决
Math m= new Math();
Console.WriteLine (m.F(100));
Console.WriteLine (m.A(18));
}
}
}
链接:http://edu.csdn.net/course/detail/2050/31834?auto_start=1
相关文章推荐
- 追着嘟嘟学c#系列基础第六篇-----c#方法【蓝鸥出品】
- 追着嘟嘟学c#系列基础第八篇-----c#值类型和引用类型【蓝鸥出品】
- 追着嘟嘟学c#系列基础第四篇-----c#类和对象【蓝鸥出品】
- 追着嘟嘟学c#系列基础第十一篇-----c#方法重载【蓝鸥出品】
- 追着嘟嘟学c#系列基础第五篇-----c#字段【蓝鸥出品】
- 追着嘟嘟学c#系列基础第七篇-----c#属性【蓝鸥出品】
- 追着嘟嘟学c#系列基础第二篇-----c#结构体【蓝鸥出品】
- 追着嘟嘟学c#系列基础第九篇-----c#方法参数【蓝鸥出品】
- 追着嘟嘟学c#系列入门第十二篇-----c#的for语句【蓝鸥出品】
- 追着嘟嘟学c#系列基础第十篇-----c#字符串【蓝鸥出品】
- 追着嘟嘟学c#系列基础第一篇-----c#枚举类型【蓝鸥出品】
- 追着嘟嘟学c#系列入门第九篇-----c#的if语句【蓝鸥出品】
- 追着嘟嘟学c#系列入门第十四篇-----c#的二维数组【蓝鸥出品】
- 追着嘟嘟学c#系列入门第五篇-----c#的类型转换【蓝鸥出品】
- 追着嘟嘟学c#系列入门第七篇-----c#的控制台的输入输出【蓝鸥出品】
- 追着嘟嘟学c#系列入门第二篇-----c#的变量和数据类型【蓝鸥出品】
- 追着嘟嘟学c#系列入门第八篇-----c#的关系运算符和逻辑运算符【蓝鸥出品】
- 追着嘟嘟学c#系列入门第四篇-----c#的运算符和表达式【蓝鸥出品】
- 追着嘟嘟学c#系列入门第十三篇-----c#的一维数组【蓝鸥出品】
- 追着嘟嘟学c#系列入门第十篇-----c#的Switch语句【蓝鸥出品】