CCF201709-1 打酱油(100分)

CCF-CSP认证题解 专栏收录该内容
131 篇文章 334 订阅

试题编号: 201709-1
试题名称: 打酱油
时间限制: 1.0s
内存限制: 256.0MB
问题描述:
问题描述
  小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。
输入格式
  输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。
输出格式
  输出一个整数,表示小明最多可以得到多少瓶酱油。
样例输入
40
样例输出
5
样例说明
  把40元分成30元和10元,分别买3瓶和1瓶,其中3瓶送1瓶,共得到5瓶。
样例输入
80
样例输出
11
样例说明
  把80元分成30元和50元,分别买3瓶和5瓶,其中3瓶送1瓶,5瓶送2瓶,共得到11瓶。

问题链接:CCF201709试题

问题描述(参见上文)。

问题分析:根据题意,这是一个分组计算问题。首先尽可能以5瓶一组来买,余下的部分尽可能以3瓶一组来买,最后剩下的部分按10元一瓶来买。

程序说明:程序中使用常量是为了程序的通用性,是工程上的做法。


提交后得100分的C语言程序如下:

/* CCF201709-1 打酱油 */

#include <stdio.h>

const int ONE = 1;
const int TWO = 2;
const int FIVE = 5;
const int THREE = 3;
const int PRICE = 10;

int main(void)
{
    int n, group1, group2, group3;

    scanf("%d", &n);

    group1 = n / PRICE / FIVE;
    group2 = (n - group1 * PRICE * FIVE) / PRICE / THREE;
    group3 = (n - group1 * PRICE * FIVE - group2 * PRICE * THREE) / PRICE;

    printf("%d\n", group1 * (FIVE + TWO) + group2 * (THREE + ONE) + group3);

    return 0;
}

 




  • 21
    点赞
  • 6
    评论
  • 4
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页

打赏作者

海岛Blog

不要打撒mi

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值