问题:
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。
在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个。请修改程序并运行,检查结果是否正确。
#include <stdio.h>
// 原问题的函数
int originalProblem() {
int day = 10;
int peach = 1;
// 从第10天倒推到第1天
for (int i = day - 1; i >= 1; i--) {
peach = (peach + 1) * 2;
}
return peach;
}
// 修改后问题的函数
int modifiedProblem() {
int day = 10;
int peach = 1;
// 从第10天倒推到第1天
for (int i = day - 1; i >= 1; i--) {
peach = (peach + 2) * 2;
}
return peach;
}
int main() {
// 原问题的结果
int originalPeach = originalProblem();
printf("原问题:第一天共摘了 %d 个桃子。\n", originalPeach);
// 修改后问题的结果
int modifiedPeach = modifiedProblem();
printf("修改后问题:第一天共摘了 %d 个桃子。\n", modifiedPeach);
return 0;
}
标签:10,偷桃,语言,peach,int,猴子,return,桃子,day
From: https://blog.csdn.net/IIIIIIlllii/article/details/143818960