追着嘟嘟学c#系列基础第十二篇-----c#递归【蓝鸥出品】

来源:互联网 发布:华为账号中心无法数据 编辑:程序博客网 时间:2024/05/17 22:15

代码:

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

0 0