目录
题目:
示例:
分析:
题目给我们三个数,一个是我们拥有的钱,一个是钢笔的价格,另一个是铅笔的价格。
问我们一共有几种买笔的方案。
题目的示例其实已经明示给我们解题思路了。
我们先固定一个种类的笔,例如钢笔。
我们一个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;
}
};