猴子吃桃 根据题目第十天剩余1个桃子,那么就可以设第九天的公式 x - x/2 - 1 = 1
如果是没有学过递归的话 可以用循环遍历出来结果
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float tmp = 0;
for (int i = 1; i < 10000; ++i) {
tmp = i;
for (int j = 0; j < 10-1; ++j) {
tmp = tmp - tmp / 2.0 - 1;
}
if (tmp == 1) {
printf("第一天一共%d个桃子\n", i);
break;
}
}
return 0;
}
结果如下:
如果学过函数和递归的话 可以用递归做出来
把公式进行变换
设后一天剩余的桃子数为a
x - x/2 - 1 = a
x - 0.5x = a + 1
0.5x = a+1
x = (a+1)/ 0.5
x = (a+1)*2
得出每天的桃子数是后一天剩余的桃子数量+1x2
第10天是1 就是退出递归的条件
代码如下
#include <stdio.h>
#include <stdlib.h>
int func(int n)
{
if (n == 1)
return 1;
return 2 * (func(--n) + 1);
}
int main(void)
{
int count = func(10);
printf("第一天一共%d个桃子\n", count);
return 0;
}
结果如下:
你这是哪个图呢,是猴子吃桃还是说的是打印*****
这是一个简单的数学运算题目吧
每天少一半加1
/2+1呗
从后往前推就是-1然后乘以2呗
循环10次就可以了
有用记得采纳呐