ACM题目(N鸡问题)(求c或c++解决)

图片说明图片说明

3个回答

 #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;
}

水平有限,全当是锻炼!!!(不完全符合要求,但是我要睡觉啦)
#include
int main()
{
//N表示有多少钱也就是鸡的总数,i表示公鸡数量,j表示募集数量,k表示小鸡数量
int N,i, j, k, count = 0;
printf("input the number: ");
scanf("%d",&N);
for(i = 0; i <= N/5; i++)
{
for(j = 0; j <= (N-i)/3; j++)
{
k = N-i-j;
if(k%3 != 0) continue;
if(5*i + 3*j + k/3 == N)
{
printf("公鸡: %-2d\t母鸡: %-2d\t小鸡: %-3d\n", i, j, k);
count++;
}
}
}
if(count > 0)
printf("可能的情况数: %d\n",count);
else
printf("Not matched!");
return 0;
}


Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问