递归函数--猴子摘桃问题的解题思路

2020.12.29使用递归函数解决猴子吃桃问题 题目如下: 特别鸣谢优快云用户 OMG_Python提供思路 猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。 以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来多少个桃子? 利用 递归函数编写程序,并反向打印每天所剩桃子数。试写出递归函数 完成题目的功能。 函数原型:int getPeachNumber(int n);/ #include <stdio.h> int getPeachNumb 阅读详情
AI摘要

博客详细介绍了猴子摘桃问题的解题思路,通过反向推算得出每天剩余桃子数量,并展示了使用递归函数求解第一天摘桃数量的过程。递归函数的特点包括每级调用有自己的变量、返回机制、执行顺序等,强调递归的核心是自我调用和完成状态。

猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来多少个桃子?并反向打印每天所剩桃子数。

解题思路:
反向推算
第十天桃子数:1
第九天桃子数:(1+1)x2=4
第八天桃子数:(4+1)x2=10
第七天桃子数:(10+1)x2=22
…
第一天桃子数:(第二天桃子总数+1)x2

有了规律就简单多了,整理一下题中变量:分别是天数(n)、所剩桃子数(num),根据规律,编写代码如下:
在这里插入图片描述
执行结果:
第9天所剩桃子4个
第8天所剩桃子10个
第7天所剩桃子22个
第6天所剩桃子46个
第5天所剩桃子94个
第4天所剩桃子190个
第3天所剩桃子382个
第2天所剩桃子766个
第1天所剩桃子1534个
猴子第一天摘了:1534个桃子。

代码:

#include <stdio.h>
int getPeachNumber(n)
{
    int num;    
    if(n==10)
    {
       num=1; 
       return 1;
    } 
    else
    {
        num=(getPeachNumber(n+1)+1)*2;   
        printf("第%d天所剩桃子%d个\n",n,num); 
    }
    return num;
}
int main()
{
    int num=getPeachNumber(1);
    printf("猴子第一天摘了:%d个桃子。\n", num);
    return 0;
}

递归函数特点:

1、每一级函数调用时都有自己的变量,但是函数代码并不会得到复制,如计算5的阶乘时每递推一次变量都不同;
2、每次调用都会有一次返回,如计算5的阶乘时每递推一次都返回进行下一次;
3、递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;
4、递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;
5、递归函数中必须有终止语句。
一句话总结递归:自我调用且有完成状态。

结合猴子偷桃问题,阐述对递归算法的一些小感悟 递归的一些基础理解前言1.递归是什么?二、什么时候使用递归?1.所需求解的函数值之间存在密切关联:源代码如下:对递归问题的总结我的博客中有一道上车问题,也应用到了递归算法,欢迎品尝以便加深理解,上述只是本人一些看发,如有不妥欢迎您指出; 前言 1.递归是什么? 定义:再调用一个函数的过程中直接或间接的调用该函数本身,称为递归; 递归问题其实又可以简单分为2个过程:“回溯”与“递推”在下文会结合例子讲解: 二、什么时候使用递归? 1.所需求解的函数值之间存在密切关联: 下面结合猴子偷桃文题进行讲解: 题. 阅读详情

相关推荐

第63讲:Python编程案例之猴子吃桃

计算猴子每天吃的桃子个数时,需要从第10天开始计算,因为明确知道第10天只有1个桃子,然后再算第9天的桃子个数,第9天的桃子树等于第10天的桃子树加1乘2的个数,第9天的桃子树就是(1+1)*2=4个,第9天就是4个桃子,按照这个思路一直计算第8天、第7天,一直到第一天为止,将每天的桃子数累加起来,就是第一天摘了多少个桃子。使用递推方式,每次都会用当前的天+1之后得到后一天的桃子树,然后加1乘2得到当天的桃子树,这个递推关系相当于在一个函数的内部又调用了一遍函数,所以我们可以使用递归函数来实现这个例子。

江晓龙的博客 2万+

php算法

猴子摘桃的算法 有一只猴子摘了一堆桃子,当即吃了一半,可是桃子太好吃了,它又多吃了一个,第二天它把第一天剩下的桃子吃了一半,又多吃了一个,就这样到第十天早上它只剩下一个桃子了,问它一共摘了多少个桃子? $a=1; for($i=10;$i>1;$i--){ $a=($a+1)*2; } return $a; ...

Mr. 亮先生的博客 1033

流媒体弱网优化之路(NACK)——纯NACK方案的优化探索

流媒体学习之路(NACK)——纯NACK方案的最高性能 文章目录流媒体学习之路(NACK)——纯NACK方案的最高性能一、NACK简介二、Nack的理解2.1 一种补救策略2.2 什么时候要?2.3 要多少?2.4 怎么要?三、计算分析3.1 rtt强相关3.2 补包次数计算3.3 Nack的定时发送3.4 nack重传限制四、实验   近期在针对纯丢包场景做一些简单的探索实验,一个让我困扰的问题就是:不使用FEC而只是通过纯NACK进行补偿,到底能在实验环境下抵抗多少的丢包呢?每一次丢包补偿的最大时长

qw225967的博客 1万+

递推算法5——逆推法之猴子摘桃问题

逆推法是根据结果推出已知条件,推算方法与顺推法类似,只是需要将结果作为初始条件向前推算。比较典型的例子是猴子摘桃和存取问题 猴子摘桃 【问题描述】 猴子第一天摘了若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃前一天的一半零一个。到第十天的时候再想多吃,见只剩下一个桃子了。求第一天一共摘了多少桃子? 【分析】 根据第10天的桃子个...

凌空的桨 4670

ffmpeg中av_read_frame阻塞的原因与解决方案

最近用到ffmpeg,想要av_read_frame立即返回,但是看网上的博客,都没有详细的解说,那就自己看源码。 两种方法: 设置回调打断函数和设置超时 超时,但是如果只设置该参数,依然会在av_read_frame中阻塞, av_dict_set(&inputDic, "stimeout", "2*1000*1000", 0); // milliseconds //打断回调 m_avformatCtx->interrupt_callback.callback = interru

weixin_43360707的博客 1万+

告别手动改图!用Python+PyWin32驱动SolidWorks,实现参数自动化修改(保姆级避坑指南)

本文详细介绍了如何利用Python和PyWin32驱动SolidWorks实现参数自动化修改,提供从环境配置到API连接的工业级解决方案。通过实战案例和避坑指南,帮助工程师高效搭建自动化脚本工作流,显著提升设计效率。

weixin_30614109的博客 743

递归二:猴子吃桃问题

猴子第一天吃了若干个桃子,当即吃了一半,还不解馋,又多吃了一个; 第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共吃了多少个桃子? //peach(n)从最后一天倒退n天还有多少桃 //peach(n-1)倒退第n-1天还有多少桃 //peach(1) 已知最后一天剩一个桃 int peach(int n) { if(n==1) { return 1; } else

s_____ss的博客 763

意图识别和纠错问题

可想而知,错误的意图识别会带来多大的负面影响。基于词典,就是对用户query内容和词典内容进行比对,比较常见的方式是序列标注问题里用的最大逆向匹配,通过这种方式找到词典里的实体词,匹配触发了自然就有意图了,而在词典匹配的时候,不是使用链表之类的来构造匹配结构,而是使用搜索树的结构,这种匹配的复杂度最低,速度也快,两者结合,其速度甚至比很多模型要快得多(基本上1ms以内就能完成),fasttext速度非常快,但是textcnn之类的其实就已经达到ms级别以上,bert甚至在10ms级别。

TURING.DT 4573

PHP用递归法求猴子吃桃问题

题目为:一个猴子守着一堆桃子,第一天吃了一半又多吃了一个,第二天一样,到第十天就剩下一个桃子,请问原来有几个桃子? 202003090206罗的解题思路是这样的: <?php echo'<meta charset="utf-8">'; function get_peach($number, $day) { if ($day >= 10) { return $number; } return get_peach (($number + 1) * 2,

m0_71722908的博客 1460

手把手教你学Simulink--双足机器人的反步控制方法仿真

本文介绍了在Simulink中基于反步控制方法进行双足机器人仿真研究的步骤。主要内容包括:1)准备工作,包括MATLAB/Simulink安装和相关工具箱配置;2)构建简化双足机器人模型;3)设计反步控制器,阐述其递归设计原理及Lyapunov函数构造方法;4)通过MATLAB Function块实现控制逻辑并连接模型;5)仿真参数配置和结果分析。文章强调反步控制适用于非线性系统,通过逐步构造虚拟控制律保证系统稳定性,并指出需要多次调试和查阅文献来优化控制效果。该教程为研究双足机器人运动控制提供了实用的仿真

MHD0815的博客 153

一文搞定离线环境下的RAG引擎部署

在人工智能浪潮下,技术已成为构建智能问答、文档分析和代码助手等应用的核心。然而,在许多企业场景中,出于数据安全和性能的考虑,服务器往往部署在中,并要求极致的推理效率。这给依赖外部资源的应用部署带来了巨大挑战。如何在这种严苛的环境下,完整、可靠地部署一套包含向量数据库、**高性能推理服务(vLLM)**和Python后台的复杂RAG系统呢?本文将为你提供一个,手把手教你如何使用 Docker 技术,将一套基于 Weaviate 和的 Python RAG 应用完整打包,并在离线环境中一键部署。

木鱼时刻的专栏 1242

每日一练(递归2)

每日一练(递归2)

huichaochao的博客 233

​​10.3 时间敏感网络(TSN)协议适配​

本文探讨了时间敏感网络(TSN)协议在PCIe网络加速卡开发中的适配方案,重点分析了时间同步、流量调度和冗余传输三大核心问题。研究从协议实现、硬件加速设计和驱动优化三个维度展开,提出采用FPGA实现PTP时钟同步、动态TAS调度器以及双路径冗余传输等技术方案。通过工业控制网络案例验证,该方案将端到端延迟从120μs降至8μs,带宽利用率提升至92%,同时实现了100%的确定性保障。研究还总结了调试工具和典型问题解决方法,为TSN在PCIe网络中的实际应用提供了技术参考。

amy_mhd的博客 364

c语言猴子摘桃思路,递归函数--猴子摘桃问题的解题思路

猴子第一天摘下N个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第10天在想吃的时候就剩一个桃子了,问第一天共摘下来多少个桃子?并反向打印每天所剩桃子数。解题思路:反向推算第十天桃子数:1第九天桃子数:(1+1)x2=4第八天桃子数:(4+1)x2=10第七天桃子数:(10+1)x2=22…第一天桃子数:(第二天桃...

weixin_39517289的博客 4787

AI快速变现之路,AI视频创作

初期投入$3000(工具订阅+样片制作),重点攻克跨境电商和本地生活服务市场。关注2025年AIGC视频工具的API降价趋势(如Pika企业版折扣可达50%),建议与云服务商签订长期合作协议。

qq_29896351的博客 1981

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C++猴子摘桃--递归实现

问题描述 猴子第一天采摘了一些桃子,第二天吃了第一天的一半多一个,第三天吃了第二天的一半多一个…知道第十天就剩下一个。问:猴子第一天摘了多少桃子? 求解思路 根据题目意思可得: f(2)=f(1)/2-1 f(3)=f(2)/2-1 f(n)=f(n-1)/2-1 结束递归条件:f(10)=1 代码如下: #include <iostream> using namespace std;...

qq_40905198的博客 6324

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

猴子吃桃(C++)

题目详情 有一天,某只猴子摘了一些桃子,当时吃了一半,又不过瘾,于是就多吃了一个。以后每天如此,到第n天想吃时,发现就只剩下一个桃子。输入n,表示到第n天剩下1个桃子,请计算第一天猴子摘的桃子数。程序运行结果如下: 10 1534 要求 时间限制:2000ms 内存限制:32000kb 输入格式: 输入一个整数n,n>0,表示到第n天剩下1个桃子。 输出格式: 一个整数,表示第1天摘的桃子数...

努力学习的DS 3614

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

黑马程序员------论坛活动之猴子摘桃

------- android培训、java培训、期待与您交流! ---------- 猜一猜猴子摘了多少桃子呢? 猴子吃桃的问题:猴子第一天摘下来N个桃子,当天就吃了一半,但是还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个,到第十天早上的时候就发现剩下 一个桃子了.求第一天一共摘下了多少桃子呢? /**思路

u011019285的专栏 1565

Python---函数递归---练习:猴子吃桃问题(本文以递归算法 解法为主)

猴子吃桃问题(本文以递归算法 解法为主)

qq_42755734的博客 2706

C++ 猴子摘桃

问题描述 猴子第一天采摘了一些桃子,第二天吃了第一天的一半多一个,第三天吃了第二天的一半多一个…知道第十天就剩下一个。问:猴子第一天摘了多少桃子? 求解思路 根据题目意思可得: f(2)=f(1)/2-1 f(3)=f(2)/2-1 f(n)=f(n-1)/2-1 结束递归条件:f(10)=1 #include <iostream> using namespace std; int ...

BanChyo的博客 865

python经典百题之猴子吃桃

设第一天摘了x个桃子,则第二天剩余的桃子数量为(x-1)*0.5,第三天剩余的桃子数量为((x-1)*0.5-1)*0.5,依此类推,到第十天剩余的桃子数量为1。递推公式为peach_count(n) = 2 * (peach_count(n+1) + 1),表示第n天剩余的桃子数量是第n+1天剩余桃子数量的两倍加1。首先,定义一个递归函数peach_count(n),表示第n天剩余桃子的数量。假设第一天的桃子数量为x,根据题意可得到迭代公式:x = (x/2 - 1) * 2。

yechuanhui的专栏 1万+

猴子吃桃-蓝桥杯 递归极度简化(c++实现)

试题 算法提高 猴子吃桃问题 上文链接:蓝桥杯之小数第n位-数组存储+直接计算版(c++实现) 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了   前一天剩下的一半多一个,到第n天吃以前发现只剩下一个桃子,   要求编写函数GetNumber(int n)求出猴子共摘了几个桃子。    输入格...

weixin_44077556的博客 2万+

猴子吃桃的非递归和递归方法

问题: 一只小猴子一天摘了许多桃子,第一天吃了一半,然后忍不住又吃了一个;第二天又吃了一半,再加上一个后面每天都是这样吃。到第10天的时候,小猴子发现只有一个桃子了。问小猴子第一天共摘了多少个桃子。 解题思路:(1)从第十天剩余一个桃子下手 有这个图就可以开始写函数了 1. #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #inc...

qq_44797749的博客 2107

python经典练习百题之猴子吃桃三种解法

到此这篇关于python经典练习百题之猴子吃桃三种解法的文章就介绍到这了,更多相关python猴子吃桃内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

habor_1314的博客 1988

python之递归函数

递归函数定义:一个函数在函数内部调用自身的函数,称为递归函数 在我们计算1+2+3+4+5+…100的时候,我们可以用循环语句来进行求和,如下代码 #循环求解1+2+3+4+5+....100 sum = 0 for i in range(1,101): sum += i print(sum) 下面用递归函数实现 #递归求解1+2+3+4+5+.....100 def mysum(m)...

是小白呢的博客 4045

001、【C语言编程题目】猴子吃桃问题

C语言编程题目:猴子吃桃,涉及知识点:变量、控制语句、递归函数用法。

如是牛 1564
上一篇: 递归:有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁......
OMG_python
博客等级 码龄8年 23粉丝 7原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值