π ΠΠ°Π΄Π°ΡΠ°
Π£ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ ΠΌΠΎΠ½Π΅Ρ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎΠΌ
ΠΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ ΠΊΡΠΏΠΈΠ» ΡΠΎΠ²Π°Ρ Π½Π° ΡΡΠΌΠΌΡ n. HΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ
ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ ΠΌΠΎΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ ΡΠ°ΡΠΏΠ»Π°ΡΠ΅. ΠΠ΅Π½ΡΠ³ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΎΠ΄Π°Π²Π΅Ρ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°?
π ΠΠΈΡΠΈΡΠ΅ Π²Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ π
@python_job_interview
Π£ ΠΏΡΠΎΠ΄Π°Π²ΡΠ° ΠΈ ΠΏΠΎΠΊΡΠΏΠ°ΡΠ΅Π»Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ ΠΌΠΎΠ½Π΅Ρ Π΄ΠΎΡΡΠΎΠΈΠ½ΡΡΠ²ΠΎΠΌ
(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