买铅笔,数组
发布日期:2021-05-07 18:28:49 浏览次数:23 分类:精选文章

本文共 1090 字,大约阅读时间需要 3 分钟。

P老师需要购买足够的铅笔作为礼物,她只能选择一种包装。为了找到最便宜的方案,我们可以分别计算每种包装需要购买的铅笔数量和总费用。

具体步骤如下:

  • 读取输入数据:首先读取需要的铅笔数量n,然后读取三种包装的铅笔数量和价格。

  • 计算每种包装的购买数量

    • 对于每种包装,计算需要购买的铅笔数量。公式是:如果n能被包装内的铅笔数量整除,那么需要的包装数是n除以铅笔数量;否则,需要的包装数是n除以铅笔数量加1。
  • 计算每种包装的总费用:将需要购买的包装数乘以每个包装的价格,得到该包装的总费用。

  • 比较所有包装的总费用:找到最小的总费用,即为P老师最少需要花费的钱。

  • 以下是实现代码:

    P老师需要购买至少n支铅笔。商店有三种包装,每种包装的铅笔数量和价格如下:

            包装1:铅笔数:a1,价格:p1
    包装2:铅笔数:a2,价格:p2
    包装3:铅笔数:a3,价格:p3

    计算每种包装至少需要购买多少个包装才能满足n支铅笔的需求,并计算总费用。

                int n = ...; // 需要的铅笔数量
    int a1 = ..., p1 = ...; // 包装1的参数
    int a2 = ..., p2 = ...; // 包装2的参数
    int a3 = ..., p3 = ...; // 包装3的参数
    int total1 = ceil(n / a1) * p1;
    int total2 = ceil(n / a2) * p2;
    int total3 = ceil(n / a3) * p3;
    int min_total = min(total1, total2, total3);
    printf("%d", min_total);

    代码解释

    • 首先读取输入的n值,表示需要购买的铅笔数量。
    • 然后读取三种包装的参数:每种包装的铅笔数量和价格。
    • 对于每种包装,计算需要购买的包装数量。如果铅笔数量不能整除n,则需要向上取整(即加1)。
    • 计算每种包装的总费用,即包装数量乘以单个包装的价格。
    • 最后,比较三种包装的总费用,选择最小的那个作为结果输出。

    通过这种方法,P老师可以找到购买足够铅笔的最便宜方式。

    上一篇:Huffman
    下一篇:二叉树

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2025年04月08日 11时20分59秒