哈工大計算機專業機試編程題(2009)百雞問題

題目描述:

    用小於等於n元去買100只雞,大雞5元/只,小雞3元/只,還有1/3元每隻的一種小雞,分別記爲x只,y只,z只。編程求解x,y,z所有可能解。

輸入:

    測試數據有多組,輸入n。

輸出:

    對於每組輸入,請輸出x,y,z所有可行解,按照x,y,z依次增大的順序輸出。

樣例輸入:

40

樣例輸出:

x=0,y=0,z=100

x=0,y=1,z=99

x=0,y=2,z=98

x=1,y=0,z=99

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=0;i<=20;i++)
    {
        for(int j=0;j<=33;j++)
        {
            for(int k=0;k<=300;k++)
            {
                if((i+j+k==100)&&(i*5+j*3+k/3.0)<=n)
                {
                    printf("x=%d,y=%d,z=%d\n",i,j,k);
                }
            }
        }
    }
    //算法優化
     for(int i=0;i<=n/5;i++)
    {
        for(int j=0;j<=(n-5*i)/3;j++)
        {
            for(int k=0;k<=(n-5*i-3*j)*3;k++)
            {
                if((i+j+k==100)&&(i*5+j*3+k/3.0)<=n)
                {
                    printf("x=%d,y=%d,z=%d\n",i,j,k);
                }
            }
        }
    }
    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章