百鸡问题的扩充

来源:互联网 发布:男神节淘宝 编辑:程序博客网 时间:2024/06/10 14:42

九度OJ 1045

题目描述:

    用小于等于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=100x=0,y=1,z=99x=0,y=2,z=98x=1,y=0,z=99
这个题目的改变在于给的钱不再是固定的,但是本质还是一样的,同样是通过多个循环来解决
化简如下
5x+3y+z/3<=n; z=100-x-y;14x+8y<=3n-100;
#include<stdio.h>void hundred_chi(int i);void main(){    int n;    while(scanf("%d",&n)!=EOF){        hundred_chi(n);}}void hundred_chi(int n){    int a;    int b;    for(a=0;a<=100;a++){        for(b=0;b<=100;b++){            int c=14*a+8*b;            if(c<=3*n-100)                printf("x=%d,y=%d,z=%d\n",a,b,100-a-b);                 }              }      }/**************************************************************    Problem: 1045    User: canon_lin    Language: C    Result: Accepted    Time:10 ms    Memory:912 kb****************************************************************/