精华内容
下载资源
问答
  • 递归函数求解

    2016-07-25 18:24:11
    //递归结束条件,这里应该是return 1;的,为什么写成num=1得到的结果一样呢 } else { num = (getPeachNumber(n+1)+1)*2; printf("第%d天所剩桃子%d个\n", n, num); } return num; } int main() ...
  • 递归函数求解

    2016-03-28 19:30:22
    问题及描述; /* *Copyright (c) 2016,烟台大学计算机学院 *All rights reserved. *文件名称;... 用递归函数求解 *输入描述; 无 *输出描述; 输出答案 */ #include using namespa

    问题及描述;

    /*
     *Copyright (c) 2016,烟台大学计算机学院
     *All rights reserved.
     *文件名称;test.cpp
     *作者;邱凯
     *完成日期;2016年3月28号
     *版本号;v6.0
     *问题描述;   用递归函数求解
     *输入描述;  无
     *输出描述; 输出答案
    
    */
    #include <iostream>
    using namespace std;
    int fac(int n);
    int main( )
    {
        int n;
    
        int sum=0;
        cin>>n;
        if(n%2==0)
        {
    
        cout<<"请输入奇数,否则无法求解"<<endl;
        }
        else
            cout<<"正确"<<endl;
        sum=fac(n);
        cout<<sum<<endl;
    }
    int fac(int n)
    {
        int sum;
        if(n==1)
            return 1;
        else
            sum=n*fac(n-2);
            return sum;
    }
    


    展开全文
  • 分段函数的题目是: 现在用代码将它表现出来: ''' 时间:2019/3/31 ...写出求解分段函数的算法。要求:算法中不能出现'+','*','/'符号,并且用递归的思路作答, 写出两种实现方法:递归函数 和 非递归函数...

    分段函数的题目是:

    f(n) = 1 ,n = 1

    f(n) = n ^{f(n - 1)} , n > 1            

    现在用代码将它表现出来:

    '''
    时间:2019/3/31
    P(n)={1         ,n=1
         {n^P(n−1)  ,n>1
    写出求解分段函数的算法。要求:算法中不能出现'+','*','/'符号,并且用递归的思路作答,
                               写出两种实现方法:递归函数 和 非递归函数
    '''
    def _pow(n):
        if n == 1: return 1
        elif n > 1: return pow(n, _pow(n - 1)) # 调用函数自己
    
    print(_pow(4))

    题目中要求:算法中不能出现'+','*','/'符号,并且用递归的思路作答,写出两种实现方法:递归函数 和 非递归函数

    不能使用+、*、/,这里用递归函数就能很简洁美观的去实现它,当n = 4的时候,实际上题目就是要我们算4^{3^{2^{1}}}它的答案,可以看出,这个式子有很明显的层次性和重复性,定义的_pow函数的第三行就是在调用它自己,将_pow(n-1)的返回值作为这一层中n的指数,一直重复到边界n = 1即达到最后一层。

     

    根据这个原理,我们可以去思考计算机解决递归问题的方法

    用代码来表现出来: 

    n = 4 # n的取值最好不要超过4
    nubs = [] # 用来存放递归中每一层‘递’的底数
    while True:
        if n > 1:
            nubs.append(n)
            n -= 1
        else: 
            nubs.append(1)
            
            while len(nubs) > 1:
                now_nub = pow(nubs[-2], nubs[-1])
                del nubs[-1]
                del nubs[-1]
                nubs.append(now_nub)
            break
    
    print(nubs[0])

    用一个while循环表示递归的重复性,当n = 1的时候达到边界,递归‘递‘结束;然后用一个栈nubs来表示递归的层次性,将每一层产生的中间数放到其中,’归‘的时候进行出栈。

    4 3 2 1

    先是n> 1的时候,依次将底数进栈

    4 3 2  

    然后栈中最后两个元素出栈,做pow(2,1)操作,将结果2重新入栈

    262144                     

    重复上述’归‘的操作,最后栈中唯一的元素即为分段函数的解

    当然在递归函数中这个栈是系统提供的

     

     

    本文供和我一样的初学者参考

     

    展开全文
  • 递归函数求解f(x,n)

    2020-03-17 16:04:35
    递归函数求解f(x,n) 格式 输入格式 第一数是x的值,第二个数是n的值。 输出格式 函数值,保留两位小数。 样例 输入样例 1 2 输出样例 0.40 c++代码: #include<iostream> using namespace std; double digui...

    描述:
    已知:在这里插入图片描述
    用递归函数求解f(x,n)

    格式
    输入格式
    第一数是x的值,第二个数是n的值。
    输出格式
    函数值,保留两位小数。
    样例
    输入样例

    1 2

    输出样例

    0.40
    c++代码:

    #include<iostream>
    using namespace std;
    double digui(double x,double n);
    int main(){
        
        double x,n;
        cin>>x>>n;
        printf("%.2lf",digui(x,n));
        
        
        return 0;
    }
    double digui(double x,double n){
        
        while(n>=1){
            if(n==1)
                return x/(x+1);
            else
                return x/(n+digui(x,n-1));
        }
    }
    

    C代码:

    #include<stdio.h>
    double digui(double x,double n);
    int main(){
        
        double x,n;
        scanf("%lf %lf",&x,&n);
        printf("%.2lf",digui(x,n)); 
        
        
        return 0;
    }
    double digui(double x,double n){
        
        while(n>=1){
            if(n==1)
                return x/(x+1);
            else
                return x/(n+digui(x,n-1));
        }
    }
    
    展开全文
  • 实验内容:用递归函数求解表达式 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights ...
    实验目的:学会使用函数的递归
    实验内容:用递归函数求解表达式
    
    * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了)
    * 程序的版权和版本声明部分
    * Copyright (c) 2011, 烟台大学计算机学院学生
    * All rights reserved.
    * 文件名称:用递归函数求解表达式                             
    * 作    者:薛广晨                            
    * 完成日期:2011         年  11     月  22      日
    * 版 本号:x1.0         
    
    * 对任务及求解方法的描述部分
    * 输入描述:n的值
    * 问题描述:求f(n)=1^3+2^3+…+n^3(在此^表示幂运算,1^3即1的3次方)
    * 程序输出:f(n)的值
    * 问题分析:首先,可以将f(n)表示为以下的递归式
     f(1)=1
     f(n)=f(n-1)+n*n*n
    * 算法设计:……
    * 程序头部的注释结束(此处也删除了斜杠)
    #include <iostream>
      
    using namespace std;
    
    int f(int);
    
    int main( )
    {
      int n,m;
    
      cout<<"请输入n的值:";
      cin>>n;
    
      m=f(n);
    
      cout<<"f("<<n<<")的值为: "<<m<<endl;
    
      return 0;
    }
    
    //下面是递归函数f(n)的定义
    int f(int n)
    {
     int c;
    
     if(n == 1) c = 1;
     else c = f(n - 1) + n * n * n;
    
        return c;
    }
    
    

    运行结果:


    经验积累:
    1.认真分析,努力思考
    2.不懂就问
    3.相互交流

    上机感言:我又学会了一种求函数的方法——递归法,真是太爽了。


     
    展开全文
  • 递归函数求解问题

    2016-04-07 08:48:43
    /* ...  *All rights reserved  *文件名称:test.cpp ... *问题描述:用递归方法求解  *输入描述:  *程序输出:判断相关问题 */ #include using namespace std; int gcd(int a,int b);
  • 利用递归数列求解著名的Fibonacci数列的各项,用户可自定义输入要求的第n项,输入后即可求出从0到n每一项Fibonacci的值。
  • 一、递归函数概述         在使用面向过程的编程语言进行程序编写的过程中,一般是按照结构化的编程思想、模块化的程序设计方法来进行程序的编写和代码的组织的。我们熟悉...
  • 实验内容:用递归函数求解表达式 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights ...
  • 递归函数求解——利用主方法

    千次阅读 2019-04-21 12:19:32
    注意,本文编辑使用了latex语法,可以参考常用数学符号表示法latex帮助。 1. T(n)=T(n/2)+c 解:替换法 到这里假设,则上式等于 ...2. T(n)=4T(n/2)+n ...解:主方法,a=4,b=2,f(n)=n, 因此,可知,满足主方法第一条定理 ...
  • 实验内容:用递归函数求解表达式 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights ...
  • /* ...Author:刘慧艳 ...Describe:【项目1-递归求奇数连乘的积】类似求阶乘,写出1*3*...*n的递归式,并编写出递归函数求解。 */ #include using namespace std; long dg(int); int main() { int n;
  • php 递归函数 求解

    2012-10-01 10:41:12
    [color=#FF6600]本来按照想法,递归函数用测试数组返回来的应该是一个有2个值的二维数组。但值得到了一个数组,加红部分是不是不能这么写,那要怎么写呢?求解[/color] ================================代码如下所...
  • 当盘子的个数为n时,移动的次数应等于2^n – 1。 首先把三根柱子按顺序排成品字型,把所 有的圆盘按从大到小的顺序放在柱子 上,根据圆盘的数量确定柱子的排放顺序: 若n为偶数,按顺时针方向依次摆放A B C;...
  • 实验内容:用递归函数求解表达式 * 程序头部注释开始(为避免提交博文中遇到的问题,将用于表明注释的斜杠删除了) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights ...
  • 写出求1*3*...*n的递归形式,并编写出递归函数求解 /*烟台大学计算机学院 2016 作者: 马春澎 完成日期:2016年11月21日 */ #include int f(int); int main() { int n,s; scanf("%d",&n); s=f(n); printf("%d...
  • 问题及代码: /* ... *All rights reserved. *文件名称:main.cpp *作者:郝昱猛 ...*完成日期:2016年3月31...*问题描述:用递归函数求两个数的最大公约数。 *程序输出:。 */ #include using namespace std; int
  • /* ...  * All rights reserved....  * 文件名称:test.cpp  * 作 者:呼亚萍 ... * 完成日期:2014年 11 月 14 日 ... * 问题描述:编写递归函数求出1*3*...*n的值  * 输入描述:一个整数n  * 程序输出:
  • /* ...* All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014 年 11 月 16 日 ...* 问题描述:编写递归函数fib(int n)返回第n个Fibnacci数,以此输出Fibnacci序列的第20个数; * 输
  • /* algo3-9.c 用递归函数求解迷宫问题(求出所有解) */  #include"c1.h" /* 根据《PASCAL程序设计》(郑启华编著)中的程序改编 */  #include"func3-1.c" /* 定义墙元素值为0,可通过路径为-1,通过路径为足迹 */ ...
  • 运行及代码: /* ... *All rights reserved. *文件名称:d.cpp ...*问题描述:输入一个整数n,要求输出对应的二进制形式,请用递归函数实现 *输入描述:一个整数(您要知道数所在的项数)或N *程序输出:
  • 运行及代码: ;font-size:18px;color:#99ff99;BACKGROUND-COLOR: #009900"><em>/* ...*All rights reserved. ...学习心得:copy了高赞的代码,发现写的真不错,也了解了递归函数,再加上自己的一点小意思。
  • /* ...* All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014 年 11 月 15 日 ...* 问题描述:编写递归函数求出n的阶乘; * 输入描述: 输入一个数n; * 程序输出: 输出n的阶乘。 */
  • /* ...* All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014 年 11 月 16 日 * 版 本 号:v1.0 ...明天自习的时候再用云学堂上学到的递归写法一步一步的写下来,希望能弄懂吧。
  • 当输入0的时候,如果没有在定义函数中单独描述是不会有输出的,但我写的这个代码在输入其他数后前面会加上一个0,这应该不算是问题吧,话说回来,当前面有0代表正负时候的0是正是负啊??忘了
  • #include void hanoi(unsigned int n,char fr,char te,char to); void moveplate(unsigned int n,char fr,char to); int main() { unsigned int n; scanf("%u",&n); hanoi(n,'A','B','C');...}

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,447
精华内容 978
关键字:

递归函数求解