公鸡每只5元,母鸡每只3元,小鸡1元3只,而且鸡必须整只买。100元钱买100只鸡(每一种鸡都要有),公鸡、母鸡、小鸡各多少只?请编写程序给出各种购买方案。
输入格式:
输入为一个正整数n,表示要求输出前n种可能的方案。方案的顺序,是按照公鸡只数从少到多排列的。
输出格式:
显示前n种方案中公鸡、母鸡、小鸡各多少只。每行显示一种方案,数字之间空一格,最后一个数字后没有空格。
注意:如果全部方案不到n种,就顺序输出全部可能的方案。
解题思路:因为小鸡一元买三只,所以小鸡的个数一定是3的倍数,并且每种鸡都要有那么我们就让小鸡从3只开始加起,因为至多三种方案,所以用户输入3以上的数的时候我们让他变成3
#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);
if (n > 3)
{
n = 3;
}
for (int i = 1; i < 100,n>0; i++)
{
for (int k = 1; k < 100; k++)
{
for (int j = 3; j < 100; j += 3)
{
if (i + k + j == 100 && 5 * i + k * 3 + j / 3 == 100)
{
printf("%d %d %d\n", i, k, j);
n--;
}
}
}
}
return 0;
}
这篇博客探讨了一道数学问题:如何用100元购买100只鸡,鸡分为公鸡、母鸡和小鸡,价格分别为5元、3元和1元3只。作者给出了C语言的程序实现,通过三层循环遍历所有可能的组合,确保每种鸡都有,并满足总金额和数量条件。程序会按公鸡数量从少到多输出前n种方案。当用户请求的方案数n超过3时,程序限制输出前3种方案。
7104

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



