标签:
1只公鸡值5文钱;1只母鸡值3文钱;3只小鸡值1文钱。请问用文钱买100只鸡,公鸡、母鸡和小鸡各有几只?
实际题目中会按照M文钱买N只鸡的形式
按公鸡母鸡小鸡的顺序分别输出结果,一组解答占一行,解答按照公鸡数目从大到小排序(其次母鸡,再次小鸡)
无解时请输出 no answer
如输入为:
100 100
则输出:
12 4 84
8 11 81
4 18 78
0 25 75
如输入为:
1 4
则输出为:
no answer
Hint
利用循环穷举所有可能
标答
1.#include<stdio.h> 2.int main() { 3. int a, b, c; 4. int money, number, flag; 5. scanf("%d %d", &money, &number); 6. flag = 0; 7. for (a = money/5; a >= 0; a--) 8. for (b = money/3; b >= 0; b--) 9. for (c = money; c >= 0; c--) { 10. if (a + b + c*3 == number && a*5 + b*3 + c == money) { 11. flag++; 12. printf("%d %d %d\n", a, b, c*3); 13. } 14. } 15. if ( flag == 0 ) 16. printf("no answer\n"); 17. return 0; 18.}
这题我也开始循环都是用for(a = 0; a < number; a++),导致超时了,所以需要优化,这题从大往小,,且两个终端值都不是用0和number,
有一题差不多的是换硬币,我用同样的方法却没有办法实现,所以那道题自己早去看看是怎样的( ̄_, ̄ )
标签:
原文地址:http://www.cnblogs.com/-lyric/p/5118913.html