1.题目描述
桐桐周末陪妈妈到市场购物。她和妈妈来到一个买鸡的摊位,发现鸡的价格有三种:公鸡每只5元钱,母鸡每只3元钱,小鸡3只1元钱。妈妈就给桐桐出了一道计算题:如果用n元钱买m只鸡,问公鸡、母鸡和小鸡可以各买多少只?注意:必须把n元钱正好用完,且买的各种鸡的只数为大于等于0的整数。桐桐回到家里便拿起笔来认真计算,算了好久还没得出答案。聪明的你通过编写程序帮助桐桐找出结果好吗?
输入
只有1行,两个数n和m 0<n,m≤20000。
输出
有若干行,每行有三个数,分别为公鸡、母鸡和小鸡的只数,用空格隔开,按照公鸡只数升序排列。
样例输入
100 100
样例输出
0 25 75
4 18 78
8 11 81
12 4 84
(C++写法:主要思路:这道题比较简单,主要抓住题目给的限定条件。利用double作为参数类型也是为了取整更为方便)
#include<iostream>
using namespace std;
int main()
{
double n=0;
double m=0;
cin>>n>>m;
double i,j;
if(n>0&&m<=20000)
for(i=0;i<n/5;i++)//假设钱全部买公鸡,公鸡的数量不能超过钱数除5取整
{
for(j=0;j<m;j++)
{
double k=m-i-j;
if(5*i+3*j+k/3==n)//公鸡每只5元钱,母鸡每只3元钱,小鸡3只1元钱
{
cout<<i<<""<<j<<" "<<k<<endl;
}
}
}
system("pause");
return 0;
}
2.