题目描述
今有钱N元,要买鸡N只,公鸡3元一只,母鸡1元一只,小鸡1元3只,若公鸡、母鸡和小鸡至少要买一只请编程求出恰好用完N元钱买N只鸡的所有的方案。
输入格式
多组测试数据输入。
输入一整数N,表示现在有N元(0<=N<=500)。
输入样例
100
200
输出样例
24
49
注意:题目的至少!
以小鸡进行枚举。
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int xj,mj,gj;
int moxj=0,momj=0,mogj=0,fa=0;
for(xj=3;xj<=n;xj+=3)//从题意得小鸡数量应该从3只开始。
{
moxj=xj/3;//小鸡的费用
for(mj=1;mj<=n-xj;mj++)//母鸡
{
momj=mj;//母鸡的费用
for(gj=1;gj<=n-xj-mj;gj++)//公鸡
{
mogj=gj*3;//公鸡的费用
if((moxj+mogj+momj==n)&&(xj+gj+mj==n))//满足条件,方案加一。
{
fa++;
}
}
}
}
cout<<fa<<endl;
}
}