首页 > 其他 > 详细

百钱百鸡

时间:2016-01-10 19:49:56      阅读:172      评论:0      收藏:0      [点我收藏+]

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!