猴子吃桃问题函数法,算出的结果总是错误的,为什么

猴子吃桃问题:摘了若干个桃子,每天吃了一半多一个,第十天吃之前还有1个,问摘了多少个?我想用函数解决这个问题,但是结果总是不对是为什么?

#include 
int main()
{ int peach(int n);
printf("第一天摘了%d个桃子",peach(1));
return 0;
 } 
int peach(int n)
{int a;
if(n==10)
  a=1;
else
  a=(peach(n+1)*+1)*2;
  return(a);
}

第12行多了个乘号:

 a=(peach(n+1)+1)*2;

正确代码如下

#include <stdio.h>

int peach(int n);

int main() {
    printf("第一天摘了%d个桃子", peach(1));
    return 0;
}

int peach(int n) {
    int a;
    if(n == 10) {
        a = 1;
    } else {
        a = (peach(n+1) + 1) * 2;
    }
    return a;
}


  • 你可以看下这个问题的回答https://ask.csdn.net/questions/240689
  • 你也可以参考下这篇文章:企业跨境电商平台服务解决方案,跨境电子商务贸易业务框架搭建运维
  • 除此之外, 这篇博客: 编写程序,实现电子时钟自动走动的效果并提供一个按钮控制电子时钟是否停止走动。中的 题目: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 编写程序,实现电子时钟自动走动的效果并提供一个按钮控制电子时钟是否停止走动。

    代码解释:
    chance_str(n)函数:对获取的时间格式化,即对不足两位数的一位数补零。
    time()函数:获取时间,新建Date对象返回当日的日期和时间。其中setTimeout一秒刷新一次时间。
    chance()函数:控制按钮

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    	</head>
    	<body>
    		<div id="text">
    			<p id="time"></p>
    			<input type="button" id="bian" onclick="chance()" value="暂停">
    		</div>
    		
    		<script>
    			//编写程序,实现电子时钟自动走动的效果,
    			//并提供一个按钮控制电子时钟是否停止走动。
    			//要求清晰的程序步骤,并为程序标注释。
    			var run = true;		// 控制时间是否走动
    			function chance_str(n){		// 对两位数补零
    				if (n<10){
    					n = "0" + n
    				}
    				return n
    			}
    			function time(){	// 获取时间
    				//console.log(run)
    				if(run){
    					var day = new Date();
    					var h = day.getHours();// 对两位数补零
    					h = chance_str(h)
    					var m = day.getMinutes();// 对两位数补零
    					m = chance_str(m)
    					var s = day.getSeconds();// 对两位数补零
    					s = chance_str(s)
    					document.getElementById('time').innerHTML =
    					h + ":" + m + ":" + s;  
    					setTimeout(time, 1000);		// 一秒刷新一次时间
    				}
    			}
    			
    			time()	// 调用时间函数,初始化界面
    			
    			function chance(){	// 控制按钮事件
    				if(run == true){	// 暂停操作
    					run = !run;
    					document.getElementById('bian').value = "开始";
    				}else{		// 开始操作
    					run = !run;
    					document.getElementById('bian').value = "暂停";
    					time()
    				}
    			}
    			
    		</script>
    	</body>
    </html>
    
    

    运行结果截图:
    在这里插入图片描述
    就这样啦,很简单的一个代码,主要理解Date对象就行!!!
    运行出来的时间就是喜欢我的时间啊!如果让我加个限制,我希望是一万年!!!
    在这里插入图片描述

  • 您还可以看一下 王西猛老师的商超收银软件中的扫码识别商品编程解析课程中的 扫描枪扫码识别解析概述小节, 巩固相关知识点