jmu-python-函数-找钱 分数 2 作者 郑如滨 单位 集美大学 买单时,营业员要给用户找钱。营业员手里有10元、5元、1元(假设1元为最小单位)几种面额的钞票,其希望以 尽可能少(张数)的钞票将钱换给用户。比如,需要找给用户17元,那么其需要给用户1张10元,1张5元,2张1元。 而不是给用户17张1元或者3张5元与2张1元。 函数接口定义: giveChange(money) #money为要找的钱。经过计算,应按格式"要找的钱 = x*10 + y*5 + z*1"输出。 裁判测试程序样例: /* 请在这里填写答案 */ n = int(input()) for i in range(n): giveChange(int(input())) 输入样例: 5 109 17 10 3 0 输出样例: 109 = 10*10 + 1*5 + 4*1 17 = 1*10 + 1*5 + 2*1 10 = 1*10 + 0*5 + 0*1 3 = 0*10 + 0*5 + 3*1 0 = 0*10 + 0*5 + 0*1 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB
时间: 2023-12-18 10:46:15 浏览: 55
题目描述:
买单时,营业员要给用户找钱。营业员手里有 10 元、5 元、1 元几种面额的钞票,其希望以尽可能少(张数)的钞票将钱换给用户。
比如,需要找给用户 17 元,那么其需要给用户 1 张 10 元,1 张 5 元,2 张 1 元。而不是给用户 17 张 1 元或者 3 张 5 元与 2 张 1 元。
函数接口定义:
giveChange(money) #money 为要找的钱。
经过计算,应按格式"要找的钱 = x*10 + y*5 + z*1"输出。
样例:
输入:
5
109
17
10
3
0
输出:
109 = 10*10 + 1*5 + 4*1
17 = 1*10 + 1*5 + 2*1
10 = 1*10 + 0*5 + 0*1
3 = 0*10 + 0*5 + 3*1
0 = 0*10 + 0*5 + 0*1
解题思路:
本题思路比较简单,我们只需要先计算出需要多少张 10 元、5 元、1 元,再按照格式输出即可。
需要注意的是,如果某种面额的钞票数量为 0 ,则不需要输出该面额。
另外,为了方便计算,我们可以先将 10 元、5 元、1 元的数量都初始化为 0 。
参考代码:
相关问题
6-4 jmu-java&python-统计字符个数 分数 10 作者 郑如滨 单位 集美大学 编写程序统计1行字符串中: 不同字符的个数。 每种字符出现的次数。 函数接口定义: Freq(line)
下面是一种可能的 Python 实现:
```python
def Freq(line):
freq_dict = {}
for char in line:
if char in freq_dict:
freq_dict[char] += 1
else:
freq_dict[char] = 1
return freq_dict
```
这个函数接受一个字符串 `line`,并返回一个字典,其中键是字符串中出现的不同字符,值是每个字符出现的次数。函数首先创建一个空字典 `freq_dict`,然后遍历字符串中的每个字符。对于每个字符,如果它已经在字典中出现过,则将对应的值加 1;否则,将该字符加入字典,并将对应的值设为 1。最后返回字典即可。
6-3 jmu-python-函数-找钱
这是一个关于 Python 函数的题目,要求编写一个函数,实现找钱的功能。具体来说,输入应付金额和实付金额,输出需要找回的钱数。
例如,如果应付 10 元,实付 20 元,那么需要找回 10 元。
要求编写一个名为 `change` 的函数,接受两个参数 `pay` 和 `real`,分别表示应付金额和实付金额,返回需要找回的钱数。
示例代码如下:
```python
def change(pay, real):
return real - pay
```
这个函数的实现非常简单,只需要用实付金额减去应付金额即可。如果实付金额小于应付金额,那么返回的结果将是负数,表示需要补交的金额。
需要注意的是,这个函数只是一个简单的示例,实际应用中可能需要考虑更多的情况,比如应付金额和实付金额的类型、精度等。