ACM題目百錢百雞-N錢N雞
阿新 • • 發佈:2019-02-15
題目:
雞翁一,值錢五,雞母一,值錢三,雞雛三,值錢一,N錢買N雞,問翁、母、雛各幾何?
一百個銅錢買了一百隻雞,其中公雞一隻5錢、母雞一隻3錢,小雞一錢3只,問一百隻雞中公雞、母雞、小雞各多少。
解題思路:
根據題意設x為公雞,y為母雞,z為小雞,列方程x+y+z=N;5x+3y+(1/3)z=100即15x+9y+z=3N
為了減少程式執行的時間,對x、y、z的範圍進行縮小,因為N錢最多買N/5只公雞,N/3只母雞,N只小雞即:0 <= x <= N/5,0 <= y <=n/4,0 <= z <=N
程式碼:
#include "iostream"
using namespace std;
int main()
{
int n,m=1,count = 0;
int x,y,z;
while(cin>>n)
{
if(n==0)
break;
for(x=0;x<=n/5;x++)
for(y=0;y<=n/3;y++)
for(z=0;z<=n;z++)
if(15*x+9*y+z==(3*n)&&x+y+z==n)
count++;
cout <<"Case "<<m<<":";
if(count>0)
cout<<count<<endl<<endl;
else
cout<<"Not matched!"<<endl<<endl;
m++;
}
return 0;
}