π ΠΠ°ΠΊ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π±Π΅Π· ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π² Python: 5 ΠΏΡΠΎΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π΄Π²Π° ΡΠΈΡΠ»Π° Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π² Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» ΠΈ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
# ΠΡ
ΠΎΠ΄Π½ΡΠ΅ ΡΠΈΡΠ»Π°
a = 5
b = 3
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠ΅ΡΡΠΈΠΊΠ° ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
counter = 0
result = 0
# Π¦ΠΈΠΊΠ» Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΠ»Π° a Ρ ΡΠ°ΠΌΠΈΠΌ ΡΠΎΠ±ΠΎΠΉ b ΡΠ°Π·
while counter < b:
result += a
counter += 1
# ΠΡΠ²ΠΎΠ΄ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°
print(result)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ a ΠΈ b Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π½ΡΡ ΡΠΈΡΠ΅Π». ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½ΡΠ»Π΅Π²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. Π ΡΠΈΠΊΠ»Π΅ while ΠΌΡ ΡΠ»ΠΎΠΆΠΈΠΌ ΡΠΈΡΠ»ΠΎ a Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ°ΠΌΠΎ b ΡΠ°Π· ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΡΠ΅ΡΡΠΈΠΊ Π½Π° 1. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ a Π½Π° b, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΌΠ½ΠΎΠΆΠΈΡΡ Π±Π΅Π· ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π² Python
Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ - ΠΎΠ΄Π½Π° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ Python.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΌΠ½ΠΎΠΆΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ». ΠΡ ΠΏΡΠΎΡΡΠΎ Π±ΡΠ΄Π΅ΠΌ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡ ΡΠΈΡΠ»ΠΎ ΡΠ΅Π±Ρ ΠΆΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
def multiply(num1, num2):
result = 0
for i in range(num2):
result += num1
return result
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π²Π° ΡΠΈΡΠ»Π° Π² ΡΡΠ½ΠΊΡΠΈΡ multiply(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ result Π½ΡΠ»Π΅ΠΌ. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΡΠΈΠΊΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ num2 ΡΠ°Π·, ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ num1 ΠΊ result. Π ΠΊΠΎΠ½ΡΠ΅ ΡΠΈΠΊΠ»Π° ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΠΈ
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΏΠΎΡΠΎΠ± ΡΠΌΠ½ΠΎΠΆΠΈΡΡ ΡΠΈΡΠ»ΠΎ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ - ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ. Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌΡ ΡΠ΅Π±Ρ Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½Π΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ.
def multiply(num1, num2):
if num2 == 0:
return 0
else:
return num1 + multiply(num1, num2 - 1)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΄Π²Π° ΡΠΈΡΠ»Π° Π² ΡΡΠ½ΠΊΡΠΈΡ multiply(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ Π»ΠΈ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ (ΠΊΠΎΠ³Π΄Π° num2 ΡΠ°Π²Π΅Π½ 0). ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌ 0. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ num1 ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ multiply() Ρ num2, ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΡΠΌ Π½Π° 1. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΡΡΠΈΠ³Π½ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ, ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΡΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ
ΠΡΠ»ΠΈ Ρ Π½Π°Ρ Π΄Π΅Π»ΠΎ ΠΈΠΌΠ΅Π΅Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΡΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ.
def multiply(num1, num2):
result = 0
while num2 > 0:
if num2 % 2 == 1:
result += num1
num1 = num1 << 1
num2 = num2 >> 1
return result
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» while Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΡΡΠΈΠΉ Π·Π½Π°ΡΠ°ΡΠΈΠΉ Π±ΠΈΡ num2 ΡΠ°Π²Π½ΡΠΌ 1. ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΡΠΎ ΠΌΡ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ num1 ΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΡΠ΄Π²ΠΈΠ³Π°Π΅ΠΌ num1 Π²Π»Π΅Π²ΠΎ Π½Π° 1 Π±ΠΈΡ ΠΈ num2 Π²ΠΏΡΠ°Π²ΠΎ Π½Π° 1 Π±ΠΈΡ. ΠΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° num2 Π½Π΅ ΡΡΠ°Π½Π΅Ρ ΡΠ°Π²Π½ΡΠΌ 0, ΠΈ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ Python. ΠΠ½ΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»Π°, ΡΠ΅ΠΊΡΡΡΠΈΠΈ ΠΈ Π±ΠΈΡΠΎΠ²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠΌ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ.