C语言学习之五人分鱼
C语言—>五人分鱼
A、B、C、D、E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉。
日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份。
B 第二个醒来,也将鱼分为五份,把多余的一条鱼扔掉拿走自己的一份。 。
C、D、E依次醒来,也按同样的方法拿鱼。
问他们台伙至少捕了多少条鱼?以及每个人醒来时见到了多少鱼?
思路
小萌新刚刚看到这个题目时还是有点懵逼的,查看了大佬的解题思路,从题目我们可以得到最后一个人看到的鱼肯定是要大于4的,因此我们可以从5开始进行for循环,寻找到每一个人见到的鱼的数目
代码片
#include <stdio.h>
int main(){
int n; //n表示的是总的鱼的数目
int a, b, c, d; //a,b,c,d分别表示的是第一个人、第二个人、第三个人和第四个人看到的鱼的数目
for(n = 5; ; n++){ //n 从 5 开始是因为最后一个人看到的鱼的数目肯定是大于 4 的。
a = 4*(n - 1)/5; //此算式表示的是第一个人看到的鱼的数目减一过后再乘以4,乘4是因为第一个人拿走了一份
b = 4*(a - 1)/5;
c = 4*(b - 1)/5;
d = 4*(c - 1)/5;
if(n % 5 == 1 && a % 5 == 1 && b % 5 == 1 && c % 5 == 1 && d % 5 == 1){
printf("至少合伙捕鱼:%d条\n",n);
printf("分别见到鱼的条数:\n第一个人:%d \n第二个人:%d \n第三个人:%d \n第四个人:%d\n第五个人:%d \n", n, a, b, c, d);
break;
}
}
return 0;
}
输出结果
*[注释]:本人小韭菜一颗,有错误还希望大佬能指出,跪谢!!!