首先题目解释:这是给出商品单价,商品总数,还有你钱包的钱(必须全部花完哦);
然后让你设计出解决方案,方案会面临不止一个,也会没方案,这是算法;
此题是可以用两层循环嵌套来求出,但是由于不知总量,不是别的100定值,所以会溢出;只能另寻他路;
编程知识一般,数学能力主要;
#include <stdio.h> int main() { int a,b,c,d,m,n,x,y,z,i; scanf("COCK,HEN,CHICK,MONEY,CHICKS"); while(scanf("%d,%d,%d/%d,%d,%d",&a,&b,&c,&d,&m,&n)!=EOF) { i=0; //a公鸡单价; b母鸡单价; //c/d小鸡单---------------价; m总金; n鸡数; for(x=0;x<=m/a;x++) {
//核心算法; y=(m*d-c*n+c*x-a*d*x)/(b*d-c); z=n-x-y; if(x>=0&&y>=0&&z>=0&&x*a+y*b+(z*c)/d==m&&(c*z)%d==0) { i++; if(i==1) { printf("COCKS,HENS,CHICKS\n"); printf("%d,%d,%d\n",x,y,z); } else printf("%d,%d,%d\n",x,y,z); } } if(i==0) { printf("Cannot buy!"); printf("\n"); } printf("\n"); } return 0; }