题目:给你一个整数total,表示你拥有的总钱数。同时给你两个整数cost1和cost2,分别表示一支钢笔和一支铅笔的价格。你可以花费你部分或者全部的钱,去买任意数目的两种笔。 请你返回购买钢笔和铅笔的不同方案数目。 思路:枚举法。 假设total 最多可以买 n 支钢笔,则令 i = 0 ... n 枚举购买 i 支钢笔剩下...
2240.买钢笔和铅笔的方案数 由于就两种笔,那么完全可以枚举其中一种的数量,然后计算选择另一种笔的可能方案数。具体来说,不妨设当前买了x支钢笔,还剩下的资金就是total - cost1 * x。使用这笔钱来买铅笔,可以买到的最大数目就是k = (total - cost1 * x) / cost2,那么在这里就有0到k这一共k + 1种...
2240. 买钢笔和铅笔的方案数 - 给你一个整数 total ,表示你拥有的总钱数。同时给你两个整数 cost1 和 cost2 ,分别表示一支钢笔和一支铅笔的价格。你可以花费你部分或者全部的钱,去买任意数目的两种笔。 请你返回购买钢笔和铅笔的 不同方案数目 。 示例 1: 输入:t
**方案一:** 0支钢笔 + 6支自动铅笔,总价为 0 * 4 + 6 * 3 = 18元。 **方案二:** 3支钢笔 + 2支自动铅笔,总价为 3 * 4 + 2 * 3 = 18元。 因此,买0支钢笔和6支自动铅笔,或者买3支钢笔和2支自动铅笔,能正好花完所有的钱。
面向难度分编程系列,乍一看题目还以为背包,再看难度分就顿悟了。数学
循环计算的方法来解决买钢笔和铅笔的方案数问题。具体解释如下: 1.首先检查cost1和cost2的大小关系如果cost1大于cost2,则交换它们的值,以确保cost1表示价格较低的钢笔。 2.初始化变量num和sum,分别用于迭代计数和累计方案数。 3.使用一个while循环,当num乘以cost1小于等于total时进行迭代。
循环计算的方法来解决买钢笔和铅笔的方案数问题。具体解释如下: 1.首先检查cost1和cost2的大小关系如果cost1大于cost2,则交换它们的值,以确保cost1表示价格较低的钢笔。 2.初始化变量num和sum,分别用于迭代计数和累计方案数。 3.使用一个while循环,当num乘以cost1小于等于total时进行迭代。
LeetCode 2240. 买钢笔和铅笔的方案数 1. 题目 给你一个整数 total ,表示你拥有的总钱数。同时给你两个整数 cost1 和 cost2 ,分别表示一支钢笔和一支铅笔的价格。 你可以花费你部分或者全部的钱,去买任意数目的两种笔。 请你返回购买钢笔和铅笔的不同方案数目。