2059:【例3.11】买笔

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 987     通过数: 458

【题目描述】

期末来临了,班长小Q决定将剩余班费xx元钱,用于购买若干支钢笔奖励给一些学习好、表现好的同学。已知商店里有三种钢笔,它们的单价为66元、55元和44元。小Q想买尽量多的笔(鼓励尽量多的同学),同时他又不想有剩余钱。请您编一程序,帮小Q制订出一种买笔的方案。

【输入】

一个正整数xx(剩余班费)。

【输出】

一行,依次为6元、5元和4元钱笔的数目,用一个空格隔开。

【输入样例】

10

【输出样例】

1 0 1

【分析】

对于以上的实际问题,要买尽量多的笔,易知都买4元的笔肯定可以买最多支笔。因此,最多可买的笔为x/4支。由于小Q要把钱用完,故我们可以按以下方法将钱用完:

若买完x/4支4元笔,还剩1元,则4元钱的笔少买1支,换成一支5元笔即可;若买完x/4元4元的笔,还剩2元,则4元的笔少买1支,换成一支6元笔即可;若买完x/4支4元钱的笔,还剩3元,则4元钱的笔少买2支,换成一支5元笔和一支6元笔即可。从以上对买笔方案的调整,可以看出笔的数目都是x/4,因此该方案的确为最优方案。

【参考代码】

#include <stdio.h>
int main()
{
    int a,b,c;//abc分别代表6元,5元,4元的数目 
    int x,y;  //x,y分别表示剩余班费和买完最多的4元笔后剩的钱
     
    scanf("%d",&x);
    c=x/4;
    y=x%4;
    switch(y)
    {
        case 0:
            a=0;
            b=0;
            break;
        case 1:
            a=0;
            b=1;
            c--;
            break;
        case 2:
            a=1;
            b=0;
            c--;
            break;
        case 3:
            a=1;
            b=1;
            c-=2;
    }
    printf("%d %d %d\n",a,b,c);
    
    return 0;
}

http://ybt.ssoier.cn:8088/problem_show.php?pid=2059

信息学奥赛一本通(2059:【例3.11】买笔)相关推荐

  1. 信息学奥赛一本通 2059:【例3.11】买笔

    [题目链接] ybt 2059:[例3.11]买笔 本题条件欠缺,我们做此题时添加如下条件: 剩余班费x > 0 买笔数量确定时,尽量多买更贵的笔. [题目考点] 1. if-else if语句 ...

  2. 信息学奥赛一本通-2059:【例3.11】买笔

    [题目描述] 期末来临了,班长小Q决定将剩余班费x元钱,用于购买若干支钢笔奖励给一些学习好.表现好的同学.已知商店里有三种钢笔,它们的单价为6元.5元和4元.小Q想买尽量多的笔(鼓励尽量多的同学),同 ...

  3. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

  4. 信息学奥赛一本通 1278:【例9.22】复制书稿(book) | 洛谷 P1281 书的复制

    [题目链接] ybt 1278:[例9.22]复制书稿(book) 洛谷 P1281 书的复制 [题目考点] 1. 动态规划:线性动规 [解题思路] 该题可以抽象为:将由m个数字构成的序列分成k个子段 ...

  5. 【例1】 0/1背包《信息学奥赛一本通》【解法一】 02

    /* [例1] 0/1背包<信息学奥赛一本通>[解法一] 02 http://ybt.ssoier.cn:8088/problem_show.php?pid=1267 */ #includ ...

  6. 【例8】合唱队形(《信息学奥赛一本通第五版》)

    /* [例8]合唱队形(<信息学奥赛一本通第五版>) http://ybt.ssoier.cn:8088/problem_show.php?pid=1264 [问题描述] N位同学站成一排 ...

  7. 信息学奥赛一本通 2021:【例4.6】最大公约数

    [题目链接] ybt 2021:[例4.6]最大公约数 [题目考点] 1. while循环 2. 求最大公约数 辗转相减法 辗转相除法 [解题思路] 解法1:枚举 取较小数字,从该数字的值开始从大到小 ...

  8. 信息学奥赛一本通(2032:【例4.18】分解质因数)

    2032:[例4.18]分解质因数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 582     通过数: 376 [题目描述] 把一个合数分解成若干个质因数乘积 ...

  9. 信息学奥赛一本通——2062:【例1.3】电影票

    2062:[例1.3]电影票 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 57341     通过数: 34230 [题目描述] 已知一位小朋友的电影票价是10 ...

  10. 信息学奥赛一本通C++语言-----2036:【例5.3】开关门

    [题目描述] 宾馆里有n(2≤n≤1000)n(2≤n≤1000) 个房间,从1∼n1∼n 编了号.第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是22 的倍数的房间"相反处理& ...

最新文章

  1. SSM整合Shiro 身份验证及密码加密简单实现
  2. Rancher2.0中邮件通知的设置
  3. LINUX下配置bashrc文件/ PATH环境变量修改/别名/提示符
  4. 计算机课组会议讲话,备课组长会议讲话稿
  5. 深度学习-吴恩达-笔记-1-深度学习引言
  6. 直接使用editbox.clear()清空时,有时会无法清除完全,此时有清空文本框的另一种方法...
  7. 03.Web大前端时代之:HTML5+CSS3入门系列~H5功能元素
  8. 曼联球星普巴来罗!POGMOJI APP即将上市
  9. 什么是小托福考试?适合什么学生报考?
  10. 103000大写加零吗_关于支票金额大写规范写零的问题,比如1008712元,100万后要不要加零...
  11. linux能力集机制,Linux能力(capability)机制的继承
  12. PGSQL创建管理员账号
  13. 了解TSP(Tik Tok Shop Partner),这篇详细阅读不容错
  14. OLAP和OLTP比较
  15. js判断网络链接的四种方法
  16. 【PTA~L1-006 连续因子】
  17. Vue动态面包屑功能的实现方法
  18. DM8168 IPNC Boa移植
  19. java pdf电子签名_如何使用Java(ItExtAPI)将PDFS合并而不丢失数字签名
  20. RF中for循环要加END?

热门文章

  1. Java中看今天是星期几,礼拜几
  2. 插件架构的原理及实现探讨
  3. CMD不能显示中文解决方案
  4. 看几个源码,自己多做项目了!
  5. 中国企业深陷「内卷」,原因找到了
  6. 神操作:教你用Python识别恶意软件
  7. IO静态映射和动态映射
  8. 我的新书终于写完了。
  9. 使用各类BeanUtils的时候,切记注意这个坑!
  10. 线上一次fullgc搞得鸡飞狗跳后,我总结了这篇文章