python定数量不限的硬币,币值为 25 分、10 分、5 分和 1 分,编 写代码计算 n 分有几种表示法。 (结果可能会很大,你需要将结果模上 1000000007)
时间: 2024-03-05 14:52:05 浏览: 23
好的,这是一个经典的动态规划问题。我们可以用 dp[i][j] 表示只使用前 i 种硬币,凑出 j 分钱的方案数。那么最终答案就是 dp[4][n]。转移方程如下:
dp[i][j] = dp[i-1][j] + dp[i][j-coins[i-1]]
其中,coins=[1, 5, 10, 25] 表示硬币面值。初始状态为 dp[i][0]=1,即凑出 0 分钱只有一种方案,就是什么都不选。
下面是 Python 代码实现:
```
def coin_change(n):
coins = [1, 5, 10, 25]
dp = [[0] * (n+1) for _ in range(5)]
for i in range(5):
dp[i][0] = 1
for i in range(1, 5):
for j in range(1, n+1):
if j >= coins[i-1]:
dp[i][j] = (dp[i-1][j] + dp[i][j-coins[i-1]]) % 1000000007
else:
dp[i][j] = dp[i-1][j]
return dp[4][n]
```
我们可以调用 coin_change(n) 函数来计算凑出 n 分钱的方案数。例如,coin_change(10) 的返回值为 4,表示凑出 10 分钱有 4 种不同的方案。
相关问题
硬币。给定数量不限的硬币,币值为 25 分、10 分、5 分和 1 分,编 写代码计算 n 分有几种表示法。(结果可能会很大,你需要将结果模上 1000000007)
下面是使用动态规划的 Python 代码实现:
```python
def ways_to_change(n: int) -> int:
coins = [1, 5, 10, 25] # 硬币面值
mod = 1000000007 # 取模数
dp = [0] * (n + 1) # 初始化 dp 数组
dp[0] = 1 # 当总金额为 0 时,只有一种表示方法
for coin in coins:
for i in range(coin, n + 1):
dp[i] += dp[i - coin]
dp[i] %= mod
return dp[n]
```
其中,`dp[i]` 表示总金额为 i 时的表示方法数。对于每种硬币面值,都从面值开始遍历,更新当前金额的表示方法数。最终返回 `dp[n]` 即可。
用Python代码输入10个成绩,计算并输出优秀率。120分以上为优秀
以下是 Python 代码实现:
```python
scores = []
excellent_count = 0
for i in range(10):
score = int(input("请输入第%d个成绩:" % (i+1)))
scores.append(score)
if score >= 120:
excellent_count += 1
excellent_rate = excellent_count / 10 * 100
print("优秀率为:%.2f%%" % excellent_rate)
```
首先,我们创建一个空列表 `scores` 存储 10 个成绩。然后,使用 `for` 循环输入每个成绩,并将其添加到 `scores` 列表中。同时,如果该成绩大于等于 120 分,就将优秀数量 `excellent_count` 加一。
最后,计算优秀率,即优秀数量除以总数乘以 100 并保留两位小数,然后输出结果。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)