【力扣每日一题】2023.9.1 买钢笔和铅笔的方案数

文章讨论了解决一个编程问题,即给定总金额、钢笔和铅笔的价格,计算所有可能的买笔组合方案。使用C++代码实现了一个名为Solution的类,包含waysToBuyPensPencils方法,通过for循环遍历钢笔购买数量,计算剩余金额买铅笔的方案总数。
摘要由CSDN通过智能技术生成

目录

题目:

示例:

分析:

代码:


题目:

示例:

分析:

题目给我们三个数,一个是我们拥有的钱,一个是钢笔的价格,另一个是铅笔的价格。

问我们一共有几种买笔的方案。

题目的示例其实已经明示给我们解题思路了。

我们先固定一个种类的笔,例如钢笔。

我们一个for循环去遍历看看预算一共能买一根钢笔,然后再看看剩下的钱能买几根铅笔。

例如示例一里的,买0根钢笔,最多可以买4根铅笔,所以当钢笔买0根的时候,有四种买笔的方案。

直到买i根钢笔的价格大于预算了我们就停止for循环。

代码:

class Solution {
public:
    long long waysToBuyPensPencils(int total, int cost1, int cost2) {
        long long res=0;
        for(int i=0;i*cost1<=total;i++){    //只要单买钢笔的钱不超过预算
            res+=(total-cost1*i)/cost2+1;   //答案加上 买i根钢笔时买n根铅笔的方案数
        }
        return res;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值