N元钱买N只鸡,公鸡每只5元,母鸡每只3元,小鸡1元3只,N元钱必须刚好买N只鸡,而且鸡必须整只买,不能劈开买。有几种买法呢?这就是N鸡问题。
输入格式:
在一行中输入一个正整数N。(N<500)
输出格式:
在一行中输出两个整数c s,中间用一个空格隔开,表示N元钱买N只鸡共有 c 种买法,且所有买法的公鸡数量之和是 s。
如果无解,则 s 为 -1.
输入样例1:
100
输出样例1:
4 24
输入样例2:
1
输出样例2:
0 -1
代码实现:
#include<algorithm>
#include<iostream>
using namespace std;
int main(){
int n,men,women,child;
int c=0,s=0;
cin>>n;
for(men=0;men<=n/5;men++){
for(women=0;women<=n/3;women++){
for(child=0;child<=n;child+=3){
if((men*5+women*3+child/3==n)&&(men+women+child==n)){
c++;
s=s+men;
}
}
}
}
if(c==0){
s=-1;
cout<<c<<" "<<s<<endl;
}
else
cout<<c<<" "<<s<<endl;
return 0;
}