1.题目
A、B、C、D、E五个人在某天合伙去捕鱼,到傍晚时都疲惫不堪,于是各自找地方睡觉。第二天,A第一个醒来,把鱼分成五份,把多余的一条鱼扔掉,拿走自己的一份;B第二个醒来,也将鱼分为五份,把多余的一条扔掉,拿走自己的一份;C、D、E依次醒来,也按同样的方法拿鱼。问他们合伙至少捕了多少条鱼?
2.代码
#include<stdio.h>
int main(void)
{
int total;
total = sub(5);
printf("鱼的总数是:%d\n", total);
return 0;
}
int sub(int n) //定义函数求鱼的总数
{
if (n == 1) //当n=1时结束
{
static int i = 0;
do
{
i++;
}
while (i % 5 != 0);
return (i + 1);
}
else
{
int t;
do
{
t = sub(n - 1);
}
while (t % 4 != 0);
return (t / 4 * 5 + 1);
}
}
3.个人见解
由题可得,设鱼的总数是x,
那么第一次每人分到的鱼的数量可用(x-1)/5表示,余下的鱼的数量为4*(x-1)/5。
将余下的数量重新赋值给x,依然调用(x-1)/5。
如果连续五次x-1后均可被5整除,则说明最初的x值便是本题目的解。
4.输出结果截图

本文探讨了A、B、C、D、E五人分鱼的数学问题,通过C语言编程解决这一问题,寻找合伙捕鱼至少需多少条鱼才能满足特定条件。文章详细介绍了问题背景、代码实现、个人见解及输出结果。


被折叠的 条评论
为什么被折叠?



