蓝鸥Unity开发基础二——课时12 递归
一、递归
递归-在方法体内,再次调用方法本身
递归必须有出口
using System;namespace lesson_12{ public class Math{ //递归就是在方法内部调用方法本身 //1、递归必须有结束条件 //2、将大的复杂的问题分解为与原问题类似的小问题来问题,并且小问题和原问题是同一件事并且更简单 //递归本身是一种算法 public int F(int n){ //结束条件 if (n > 1) { //进行递归 return F (n - 1) + n; } else { return 1; } } } class MainClass { public static void Main (string[] args) { //计算:1+2+3+4……+99+100的和 /*数据角度解决 * f(n)=1+2+3+……+(n-1)+n; * f(100)=1+2+3+……+99+100; * * f(1)=1; * f(2)=f(1)+2=1+2; * …… * f(4)=1+2+3+4; * f(5)=1+2+3+4+5=f(4)+5; * f(6)=f(5)+6 * …… * f(100)=f(99)+100; * * f(n)=f(n-1)+n: (n>1) * f(n)=1; (n=1) */ //递归解决 Math m=new Math(); Console.WriteLine (m.F(100));//5050 } }}
练习:
1、利用递归计算1+2+3+4……+100的值
2、求n=18时n!。(1*2*3***18)
推荐视频讲师博客: