函数递归 羊

class Program
    {
        /// <summary>
        /// 每过一个村庄丢失之前的一般还多一只,7个村后还剩下2只
        /// </summary>
        /// <param name="cun"></param>
        /// <returns></returns>
        public int yangshu(int cun)
        {
            int sum = 0;
            if (cun==7)
            {
                sum = 2;
                return sum;
            }
            sum = (yangshu(cun + 1) + 1) * 2;//5天为例:sum=(yangshu(cun+1)+1)*2→sum=(yangshu(5+1)+1)*2→sum=((yangshu(6+1)+1)*2+1)*2
            return sum;//yangshu(5+1)=(yangshu(6+1)+1)*2
        }
        static void Main(string[] args)
        {
            int sum = new Program().yangshu(0);
            Console.WriteLine(sum);
            Console.ReadLine();
        }
    }

时间: 2024-10-10 08:29:44

函数递归 羊的相关文章

函数递归

函数递归就是一个函数引用另一个函数.def func (n): n+=1 if n>=8: return "and" return func(n)n=func(1)print(n)def a(): print(123)def b (): r=a() return rdef c (): r=b() return rc()

iOS函数,函数递归

#import <Foundation/Foundation.h> #import "Function.h" int main(int argc, const char * argv[]) { //函数定义 /*返回值类型 函数名(参数1, 参数2, 参数3, 参数4) { 函数体; return 返回值; } */ //函数四种基本类型: //无参无返回值 //实参 到形参的过程是一个拷贝的过程 //函数的值,要哟过对应的数据类型进行接收 //c语言允许函数嵌套调用,不允

兔子生兔子函数递归

namespace 兔子生兔子函数递归{    class Program    {        static void Main(string[] args)        {            Console.WriteLine("请输入你想知道兔子哪个月的数量:");            int m = Convert.ToInt32(Console.ReadLine());            int sum = new Program().tuzi(m);  //定

函数递归时,递归次数到900多时,就是抛出异常exception RuntimeError(&#39;maximum recursion depth exceeded&#39;,)

import subprocess import multiprocessing import urllib import sys import os import pymongo import signal import time client=pymongo.MongoClient("192.168.139.143",27017) db=client.domaindb collection=db.domain def getdomain(i): print("proces

函数递归与栈的关系

首先通过反汇编语言,我们来了解一下最简单的递归函数与栈之间的关系. 如何获得反汇编语言,在visual studio 2008中,在debug环境下,在debug/windows/disassembly中可以查看反汇编之后的语言.现在我们看一下阶乘n!的实现 其C语言实现代码如下 [cpp] view plaincopy #include <stdio.h> int factorial(int n); int main(void) { int fact; fact = factorial(4)

c语言函数, 函数调用及函数递归

1. 函数的定义: 返回值类型 函数名(形参列表) {函数体(函数的实现内容)}, 注意: 如果没有参数, 小括号也是必不可少的.  函数与函数之间可以嵌套调用(也就是在一个函数内部可以调用另外一个函数), 但是不能嵌套定义(不能在一个函数内部定义另外一个函数) 形参: 形式上的参数, 在函数定义时, 给定的参数叫做形参, 是一个一个的变量, 存储的数据在调用之前完未知 实参: 函数调用时给定的参数叫做实参, 是一个唯一确定的数据. 实参向形参传递的过程是一个拷贝的过程 函数相当于公司的部门,

例题:用函数递归求数字n 的阶乘

class Program { // 要理解递归,先要理解递归. (这只是一句玩笑话 ) // 递归,顾名思义就是递来归去,如此反复,直到不符合某个条件. 而函数递归意思也就是函数调用函数自己. 下面用代码来示例: public int jiecheng(int n) { // 用这个函数实现阶乘 , n表示阶乘的次数 if (n <= 1) return 1; else n= n *jiecheng (n - 1); return n; } static void Main(string[]

Python开发【第一篇】Python基础之函数递归

函数递归 递归的本质: 就是一个函数调用另外一个函数. def d(): return '123' def c(): r = d() return r def b(): r = c() return r def a(): r = b() print(r) a() def func(n): n += 1 if n >=4: return 'end' return func(n) r = func(1) print(r)

通过“”斐波那契数列“”学习函数递归

斐波那契数列: f(0) = 0  f(1) = 1 f(2) = 1 f(3) = 2  f(4) = 3   f(5) = 8 .......f(n) = f(n - 2) + f(n - 1) 实现方法一: #这个方法使用列表,将结果保存def fbis(num): result = [0,1] for i in range(num - 2): result.append(result[-2] + result[-1]) return result 实现方法二: def fbis_othe