题解 | #百钱买百鸡问题#
百钱买百鸡问题
https://www.nowcoder.com/practice/74c493f094304ea2bda37d0dc40dc85b
解题思路
本题要求的计算时间较短,因此需要把每个值的上限尽可能设置的小
题目中:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一
可以得到100元单买一种鸡且鸡的数目不超过100。鸡翁最多20只、鸡母最多100/3只、鸡雏最多100只
所以在产生对应鸡数量上限的时候可以卡的比较死如代码中所示,然后当同时满足鸡数量相加等于100且价格等于100时打印各种鸡的数量
#include <stdio.h> int main() { int a=0; scanf("%d",&a); int i=0,j=0,k=0; for(i=0;i<=20;i++)//鸡翁 { for(j=0;j<=100/3;j++)//鸡母 { for(k=0;k<100;k+=3)//鸡雏 { if((i*5+j*3+k/3==100)&&(i+j+k==100)) { printf("%d %d %d\n",i,j,k); } else { continue; } } } } return 0; }