C语言学习

本文通过C语言解决五人分鱼问题,探讨了如何找出合伙人捕获的最少鱼数以及每个人醒来时看到的鱼数。通过循环寻找满足条件的鱼的数量,即每个人醒来后都能将剩余的鱼平均分成五份并丢弃一条。最终得出解题思路和代码实现,并展示了程序的输出结果。
摘要由CSDN通过智能技术生成

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;
} 

输出结果

在这里插入图片描述

*[注释]:本人小韭菜一颗,有错误还希望大佬能指出,跪谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值