Skip to content

Commit b265bc7

Browse files
committed
Added func of coins change
1 parent 7711e16 commit b265bc7

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/intro_1/change_coins.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
def change(lot, nom_1, nom_2, nom_3):
2+
"""
3+
Первым вргументом является сумма, которую необходимо разменять.
4+
Остальные 3 аргумента - номиналы, любые ненулевые.
5+
Функция ищет самый легкий размен.
6+
"""
7+
8+
all_nom = sorted([nom_1, nom_2, nom_3], reverse=True)
9+
10+
for count_0 in range(lot // all_nom[0] + 1):
11+
rest_1 = lot - count_0 * all_nom[0]
12+
13+
for count_1 in range(rest_1 // all_nom[1] + 1):
14+
rest_2 = rest_1 - count_1 * all_nom[1]
15+
16+
if rest_2 % all_nom[2] == 0:
17+
result = [count_0, count_1, rest_2 // all_nom[2]]
18+
print(
19+
f"размен: {all_nom[0]} * {result[0]} + "
20+
f"{all_nom[1]} * {result[1]} + {all_nom[2]} * {result[2]}"
21+
)
22+
return
23+
24+
else:
25+
print("-42!")
26+
return
27+
28+
FIO = input("Введите через пробел имя, фамилию и отчество\n").split()
29+
nominals = [len(string) for string in FIO]
30+
if len(nominals) == 2:
31+
nominals += [19]
32+
lot_to_change = int(input("Введите сумму, которую нужно разменять\n"))
33+
change(lot_to_change, nominals[0], nominals[1], nominals[2])

0 commit comments

Comments
 (0)