函数递归及总复习

函数递归:

含义:函数自己调用自己的过程;

最简单的递归:
public static void Test1(int a)
{
//if条件很重要,就像循环中的循环条件,没有的话就永远出不来了
if (a >= 10000)
{
return;
}
a++; //这个地方也很重要,就像状态改变;
Console.WriteLine(a);
Test1(a);
}

运行机制:
一层一层往里进,到了进不了的地方,再一层一层退出来

打印菲波那切数列:

        static void Main(string[] args)
        {
            int a = 0, b = 1;
            Console.WriteLine(a);
            Console.WriteLine(b);
            lx(a, b);

            Console.ReadKey();

        }
        public static void lx(int a, int b)
        {
            int c = a + b;
            if (c >= 1000)
            {
                return;
            }
            Console.WriteLine(c);
            lx(b, c);
        }

BOSS题
写一个函数,输入一个数,返回斐波那契数列中这个数的位置的数;
0 1 1 2 3 5 8 13 21 34 55 89

        static void Main(string[] args)
        {
            Console.Write("请输入一个正整数:");
            int n= Convert.ToInt32(Console.ReadLine());

            Console.WriteLine(boss(n));

            Console.ReadKey();
        }

        public static int boss(int n)
        {
            int i = 1;
            int j = 2;
            if (n < 1)
            {
                return 0;
            }
            else if (n == 1 || n == 2)
            {
                return 1;
            }
            return boss(n - i) + boss(n - j);
        }

时间: 2024-08-29 19:17:00

函数递归及总复习的相关文章

P2 总复习

目录 0531总复习 数据类型内置方法 整形类型内置方法 浮点型类型内置方法 字符串类型内置方法 优先掌握 需要掌握 了解 列表类型内置方法 优先掌握 需要掌握 元组类型内置方法 优先掌握 字典类型内置方法 优先掌握 需要掌握 集合类型内置方法 优先掌握 需要掌握 数据类型总结 可变or不可变 有序or无需 存一个值or多个值 拷贝 浅拷贝 深拷贝 字符编码 Python3解释器编码 文件操作 打开文件的流程 with管理上下文 打卡文件的三种模式 同时打开两个文件 文件复制 打开文件file后

07-08 函数递归

[TOC] 一 函数递归调用介绍 函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身 插图:恶搞图58 例如 在调用f1的过程中,又调用f1,这就是直接调用函数f1本身 def f1(): print('from f1') f1() f1() 配图:递归调用1 在调用f1的过程中,又调用f2,而在调用f2的过程中又调用f1,这就是间接调用函数f1本身 def f1(): print('

函数递归

函数递归就是一个函数引用另一个函数.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语言允许函数嵌套调用,不允

agruments应用——求出函数参数的总合&amp;&amp;css函数——设置/读取对象的属性&amp;&amp;当前输入框高亮显

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

兔子生兔子函数递归

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