πŸ“Œ Π—Π°Π΄Π°Ρ‡Π°



Π£ ΠΏΡ€ΠΎΠ΄Π°Π²Ρ†Π° ΠΈ покупатСля имССтся Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ ΠΌΠΎΠ½Π΅Ρ‚ достоинством (1,2,5,10,20,50,100,200,500).

ΠŸΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŒ ΠΊΡƒΠΏΠΈΠ» Ρ‚ΠΎΠ²Π°Ρ€ Π½Π° сумму n. HΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ

минимальноС ΠΊΠΎΠ»-Π²ΠΎ ΠΌΠΎΠ½Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΏΡ€ΠΈ расплатС. Π”Π΅Π½ΡŒΠ³ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΡƒΠΏΠ°Ρ‚Π΅Π»ΡŒ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΎΠ΄Π°Π²Π΅Ρ†.



РСшСниС

a = input('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ сумму: ')



d = dict.fromkeys([500, 200, 100, 50, 20, 10, 5, 2, 1], 0)



def get_nearest_value(iterable, value):

return min(iterable, key=lambda x: abs(x - value))



for i in d.keys():

d[i] = _i = int(a)/i

a = int(a)%i



_key = get_nearest_value(d.keys(), a)

d[_key] += 1



for k in d.keys():

print('%s - %d' % (k, d[k]))




Какая врСмСнная ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°?



πŸ‘‰ ΠŸΠΈΡˆΠΈΡ‚Π΅ вашС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡΡ…πŸ‘‡



@python_job_interview