用C语言写猴群第一天摘下若干桃,当即吃了一半,猴王还不过瘾,又多吃了两个。第二天早上猴群又将剩下的吃掉一半,猴王又多吃两个。以后每天早上都吃了前一天剩下的一半零两个。到第六天再想吃时发现只剩一个。编写C语言成语求猴群第一天摘了多少桃
时间: 2023-12-13 12:08:21 浏览: 61
#include <stdio.h>
int main() {
int x = 1; // 第六天剩下一个桃
int i;
for(i = 5; i >= 1; i--) { // 从第六天倒推到第一天
x = (x + 2) * 2; // 按照题目描述计算桃子数
}
printf("猴群第一天摘了%d个桃\n", x);
return 0;
}
相关问题
猴群第一天摘下若干个桃子,当即吃了一半,猴王还不过瘾,又多吃了2个。第二天早上猴群又将第一天剩下的桃子吃掉 一半,猴王又多吃了2个。以后每天早上都吃了前一天剩下的一半零2个。到第 6 天早上想再吃时,发现只剩下1个桃子了。用C语言编写程序求猴群第一天摘了多少个桃子。
```c
#include <stdio.h>
int main() {
int peach = 1;
for (int i = 6; i >= 1; i--) {
peach = (peach + 2) * 2;
}
printf("猴群第一天摘了%d个桃子\n", peach);
return 0;
}
```
输出结果为:猴群第一天摘了98个桃子。
一群猴子要选大王,遴选的方法是:让M只候选猴子围成一圈,从某位置起顺序编号为0∼M−1号。从第0号开始报N个数字,每轮从0报到N−1,凡报到N−1的猴子即退出候选,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。问猴王是原来第几号猴子? 输入格式: 在一行中输入两个整数M和N,分别代表猴群数量和报数数。整数与整数之间用空格间隔。 输出格式: 在一行中输出一个数,表示当选猴子编号。 输入样例: 9 2 输出样例: 2用C语言怎么写
以下是C语言的代码实现:
```c
#include <stdio.h>
int main()
{
int m, n, ans = 0;
scanf("%d%d", &m, &n);
for (int i = 2; i <= m; i++)
ans = (ans + n) % i;
printf("%d\n", ans);
return 0;
}
```
思路解析:
使用一个变量ans表示当前轮数的猴子编号。每次循环时,将ans加上报数数n,然后对猴子总数i取余,即ans = (ans + n) % i。最后剩下的一只猴子就是猴王,因此输出ans即可。注意循环从2开始,因为第一轮时ans初始值为0,第二轮时从1开始报数。
阅读全文