码迷,mamicode.com
首页 > 编程语言 > 详细

蓝鸥Unity开发基础二——课时12 递归

时间:2016-08-26 15:46:11      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:unity   3d   蓝鸥   

蓝鸥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)


推荐视频讲师博客:http://11165165.blog.51cto.com/

蓝鸥Unity开发基础二——课时12 递归

标签:unity   3d   蓝鸥   

原文地址:http://11131960.blog.51cto.com/11121960/1842797

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!