Problem A: 百鸡问题

本文探讨了《张邱建算经》中著名的百鸡问题,通过三重循环算法找到所有可能的购买组合,确保在预算内同时满足购买数量和价格条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Problem A: 百鸡问题

分析

看似是个复杂问题,其实就是多次嵌套循环,多次遍历的结果,所以三个变量也就是三个循环。

Description

古代《张邱建算经》中的“百鸡问题”是一道很有名的算题。题目内容是:用100元买100只鸡,大公鸡5元1只,母鸡3元1只,小鸡1元3只。问各能买多少只?

Input

没有输入

Output

输出所有的可能,要求一种可能一行,分别输出三个整数,代表公鸡,母鸡及小鸡的个数,中间用一个空格隔开 输出的时候要求,先输出公鸡数最少的可能,公鸡数如果相同的几种情况,先输出母鸡数最少的情况

Sample Input

Sample Output

0 25 75
4 18 78
8 11 81
12 4 84

#include<stdio.h>
#include<math.h>
int main(){
	int i,j,k;
	for(i=0;i<=100;i++)
	{
		for(j=0;j<=100;j++)
		{
			for(k=0;k<=100;k++)
			{
				if(i*5+j*3+k/3==100&&k%3==0&&i+j+k==100)
				printf("%d %d %d\n",i,j,k);
			}
		}
	}
		
	
	return 0;
}

总结

1、几个变量往往就要几次循环,注意判断条件的逻辑完整性,因为要满足整除的问题,所以不要忘记判断整除条件。
2、注意i,j,k的初始值设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值