==============================================================================
002、【题目】捕鱼和分鱼问题
捕鱼和分鱼:A、B、C、D、E 五个人在某天夜里合伙去捕鱼,
到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三杆,A第一个醒来,他将鱼分为五份,把多余的一条鱼 扔掉,拿走自己的一份。B第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。C、D、E依次醒来,也按同样的方法拿走鱼。问他们合伙至少捕了多少条鱼?
【程序分析】:
E醒来将鱼分成五份,每份最少1条,还有多余的一条,因此到E至少剩下6条鱼。鱼的总数一定是>=6 。
步骤:
1、从6开始一个数一个数测试 num
2、需要从num开始向下推算出4个数,这4个数必须都满足满足 %5 == 1 且 这个数要 >1,
如果有一个不满足,那么num 就不是要查找的鱼的总数量。
【程序源码】:
/*********************************************
运行平台:Windows 10专业版
开发工具:Dev-C++
编程语言:C语言
整理作者:牛园园
修改日期:2022年12月15日
**********************************************/
【思路一】
#include <stdio.h>
int main()
{
int all;
int num=6;
int j;
while(1)
{
all = num;
for(j=0;j<4;j++)
{
if(all <= 1 || all%5 != 1)
{
break;
}
all = all - all / 5 - 1;
}
if(j==4)
{
printf("鱼数为%d条",num);
break;
}
num++;
}
}
【运行效果】: