问题:
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
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
解答:#include<stdio.h>
#include<stdlib.h>
int main()
{
int n , g , m ,x ,sum=0 ,f=0;
scanf("%d",&n);
for(g = 0 ;g<=n/5;g++)
{
for(m=0;m<=n/3;m++)
{
x = n - g - m ;
if(15*g+9*m+x==3*g+3*m+3*x && x%3==0)
{
sum += g ;
f++;
}
}
}
if(f)
printf("%d %d",f,sum);
else
printf("%d %d",f,sum=-1);
}