π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΠΠΈΡΠΎΠ½Π΅? π ΠΠ°Ρ ΠΎΠ΄ΠΈ Π΅Π³ΠΎ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ!
Π§ΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π΅Π»Π΅Π½ΠΈΡ (%) Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΡΠ°ΡΠΊΠ° ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π½Π° ΠΊΡΠ°ΡΠ½ΠΎΠ΅.
# ΠΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
ΡΠΈΡΠ»ΠΎ = 17
ΠΊΡΠ°ΡΠ½ΠΎΠ΅_ΡΠΈΡΠ»ΠΎ = 5
ΠΎΡΡΠ°ΡΠΎΠΊ = ΡΠΈΡΠ»ΠΎ % ΠΊΡΠ°ΡΠ½ΠΎΠ΅_ΡΠΈΡΠ»ΠΎ
Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅_ΠΊΡΠ°ΡΠ½ΠΎΠ΅ = ΡΠΈΡΠ»ΠΎ - ΠΎΡΡΠ°ΡΠΎΠΊ
print(Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅_ΠΊΡΠ°ΡΠ½ΠΎΠ΅)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π±Π΅ΡΠ΅ΠΌ ΡΠΈΡΠ»ΠΎ 17 ΠΈ Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»Ρ 5. ΠΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ 17 % 5, ΡΡΠΎΠ±Ρ Π½Π°ΠΉΡΠΈ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ 17 Π½Π° 5, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π²Π΅Π½ 2. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ Π²ΡΡΠΈΡΠ°Π΅ΠΌ ΡΡΠΎΡ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΏΠΎΠ»ΡΡΠ°Ρ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ 15.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Python
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Python Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ.
ΠΠΎΠ΄Ρ ΠΎΠ΄ 1: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»Π° X Π΄Π»Ρ ΡΠΈΡΠ»Π° Y.
def find_nearest_multiple(x, y):
return (x // y) * y
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ΅Π»ΡΡ ΡΠ°ΡΡΡ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ x Π½Π° y ΠΈ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π΅Π΅ Π½Π° y. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΌ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π΄Π»Ρ ΡΠΈΡΠ»Π° x.
ΠΠΎΠ΄Ρ ΠΎΠ΄ 2: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ceil ΠΈ floor
ΠΡΡΠ³ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π°ΠΉΡΠΈ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ceil (ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ Π²Π²Π΅ΡΡ ) ΠΈ floor (ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ Π²Π½ΠΈΠ·). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import math
def find_nearest_multiple(x, y):
return math.ceil(x / y) * y
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ceil Π΄Π»Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ x Π½Π° y, Π²Π²Π΅ΡΡ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π΅Π³ΠΎ Π½Π° y. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΌ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π΄Π»Ρ ΡΠΈΡΠ»Π° x.
ΠΠΎΠ΄Ρ ΠΎΠ΄ 3: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ round
Π’ΡΠ΅ΡΠΈΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ round. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
def find_nearest_multiple(x, y):
return round(x / y) * y
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄Π΅Π»ΠΈΡ x Π½Π° y, ΠΎΠΊΡΡΠ³Π»ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΠΎ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΈ Π·Π°ΡΠ΅ΠΌ ΡΠΌΠ½ΠΎΠΆΠ°Π΅Ρ Π΅Π³ΠΎ Π½Π° y. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π±Π»ΠΈΠΆΠ°ΠΉΡΠΈΠΌ ΠΊΡΠ°ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ Π΄Π»Ρ ΡΠΈΡΠ»Π° x.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ²
ΠΠΎΡΠ»Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π΅Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ x ΠΈ y Π² ΡΡΠ½ΠΊΡΠΈΡ.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°:
x = 17
y = 5
nearest_multiple = find_nearest_multiple(x, y)
print(f"ΠΠ»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»Π° {x} Π΄Π»Ρ ΡΠΈΡΠ»Π° {y}: {nearest_multiple}")
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΠ²Π΅Π΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΠ»ΠΈΠΆΠ°ΠΉΡΠ΅Π΅ ΠΊΡΠ°ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»Π° 17 Π΄Π»Ρ ΡΠΈΡΠ»Π° 5: 15
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΡΠΈ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π° ΠΊ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Π² Python. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ Π² Python.