ΡΠ°ΡΠΊΠΈ Π½Π° python ΠΊΠΎΠ΄
ΠΠ°ΠΊ Ρ ΡΠ°ΡΠΊΠΈ ΠΏΠΈΡΠ°Π»
ΠΡΠ΅Π΄ΡΡΡΠΎΡΠΈΡ
Π’Π°ΠΊ ΡΠΆ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΡΠΎ ΠΌΠΎΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΌ Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΡΡΡΠ·Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΡΠ΅ΠΊ Π΄Π»Ρ Β«Π¨Π°Π³Π° Π² Π±ΡΠ΄ΡΡΠ΅Π΅Β». Π Π½Π΅ΡΡΠ°ΡΡΡΡ, Π΄ΠΎΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π· Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅Π·ΠΊΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ»Π°ΡΡ. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π³ΠΎΡΠΎΠ²Π° ΠΈ Ρ Π½Π΅ΠΉ Π΄Π°ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ³ΡΠ°ΡΡ, ΠΊ ΡΠΎΠΌΡ ΠΆΠ΅ ΡΠ°ΠΌ ΠΏΡΠΎΡΠ΅ΡΡ Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π²Π΅ΡΡΠΌΠ° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ ΡΠ΅ΠΌΠΈ ΠΈΠ΄Π΅ΡΠΌΠΈ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΌΠ΅Π» ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ.
ΠΡΠ°Π²ΠΈΠ»Π° ΠΈΠ³ΡΡ
Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ
Π‘Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊ Π½Π°ΡΠ° Π΄ΠΎΡΠΊΠ° Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π½Π° ΠΌΠΎΠΉ Π²Π·Π³Π»ΡΠ΄, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· 32 ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ Π½Π°Π±ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΠ²ΠΎΠΉΡΡΠ². Π‘Π²ΠΎΠΉΡΡΠ²Π° Ρ ΡΠ°Π½ΡΡ Π²ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ»Π΅ΡΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, ΡΡΠΎ Π½Π΅ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ Ρ Π½Π΅ Π²ΠΈΠΆΡ ΡΠΌΡΡΠ»Π°. Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΡΠΎ ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈ ΠΎΠ½ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠΈΠΏΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ queen, color ΠΈ ΠΏΡΠΎΡΠΈΡ , Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ, ΠΏΡΠΈ Π±ΠΎΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΠ·Π²Π°Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ Β«ΠΎΡΠΈΡΠ΅Π½ΠΈΡΒ» ΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ΄ΡΡ Π±ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎΠΈΡ ΡΡΡΠ±Π»Π΅Π½Π½Π°Ρ ΡΠ°ΡΠΊΠ°, Π° ΡΠ°ΠΊ ΠΆΠ΅ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΎΠΌ ΠΏΠΎΠ»Π΅, ΠΊΡΠ΄Π° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π±ΠΎΠΉ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΊΠ°ΠΊ ΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, Π½ΡΠΆΠ½ΠΎ ΡΡΠ±ΠΈΡΡ, ΠΈΠ»ΠΈ Π½Π΅Ρ? ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ Ρ ΠΎΠ΄ΠΎΠΌ Π΄ΠΎΡΠΊΠ° ΡΠΊΠ°Π½ΠΈΡΡΠ΅ΡΡΡ, ΠΏΡΠΎΠ²Π΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π±ΠΈΡΡ. ΠΠΎ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π·Π±ΠΈΡΡ Π΄ΠΎΡΠΊΠΈ Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π±ΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ Π½ΠΈΠΌ (ΡΡΠΎ, ΠΊΡΡΠ°ΡΠΈ, Π½ΡΠΆΠ½ΠΎ ΠΈ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ Ρ ΠΎΠ΄ΠΎΠ²).
Π Π°Π·Π±ΠΈΠ²ΠΊΠ° Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΊ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ ΡΠ½ΠΈΠ·Ρ-Π²Π²Π΅ΡΡ
. ΠΡΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°, Ρ
ΠΎΡΡ ΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ. Π ΡΠ²ΠΎΠΉΡΡΠ²Π°Ρ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π²ΡΠ΅ ΡΡΠΈ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Π° Ρ ΡΠ΅Ρ
Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ
ΠΊΠ»Π΅ΡΠΊΠ° Π»Π΅ΠΆΠΈΡ, ΡΡΠΎΠΈΡ true, Π½Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
β false.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ ΡΠΎΠ·Π΄Π°Π» Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΊΠ»Π΅ΡΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ². ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ Π·Π°ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΡΠΊΠΈ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ.
Π― Π½Π΅ Π±ΡΠ΄Ρ ΡΠ°ΡΠΏΠΈΡΡΠ²Π°ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄ΠΎ ΠΌΠ΅Π»ΠΎΡΠ΅ΠΉ, ΠΎΠΏΠΈΡΡ Π»ΠΈΡΡ Π² ΠΎΠ±ΡΠΈΡ
ΡΠ΅ΡΡΠ°Ρ
: Π΅ΡΠ»ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΠΈΡΡΠ°ΡΠΈΡ:
Β«ΡΠ°ΡΠΊΠ°(1) β ΡΠ°ΡΠΊΠ° (2) β ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅Β» (Π³Π΄Π΅ 1 ΠΈ 2 β ΠΈΠ³ΡΠΎΠΊΠΈ ΠΈ Ρ
ΠΎΠ΄ ΡΠ΅ΠΉΡΠ°Ρ Π΄Π΅Π»Π°Π΅Ρ ΠΈΠ³ΡΠΎΠΊ β1), Π»ΠΈΠ±ΠΎ Β«ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅ β ΡΠ°ΡΠΊΠ°(2) β ΡΠ°ΡΠΊΠ° (1)Β» [Π΄Π»Ρ Π±ΠΎΡ Π² ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ], ΡΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅ΠΌΡ Π·Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ ΠΎΠ½Π° ΡΡΠ±ΠΈΡΡ, Π΅Π΄ΠΈΠ½ΠΈΡΠΊΡ. ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π½Π΅ΠΊΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ(Π½Π°Π·ΠΎΠ²Π΅ΠΌ Π΅Ρ jumpInd), ΠΎΡΠ²Π΅ΡΠ°ΡΡΠ΅ΠΉ Π·Π° Π±ΠΎΠΈ, Π΅Π΄ΠΈΠ½ΠΈΡΠΊΡ. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΠΈΠ³ΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΠΎΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠ· ΡΠ°ΡΠ΅ΠΊ ΡΡΠ±ΠΈΡΡ.
ΠΠΎΠ³Π΄Π° ΠΈΠ³ΡΠΎΠΊ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ Π½Π° ΠΊΠ°ΠΊΡΡ-Π»ΠΈΠ±ΠΎ ΡΠ°ΡΠΊΡ, ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ jumpInd. ΠΡΠ»ΠΈ jumpInd=1, Π° ΡΠ°ΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ»ΠΈΠΊΠ½ΡΠ» ΠΈΠ³ΡΠΎΠΊ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΠΈΡΡ, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, Π»ΠΈΠ±ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΈΠ³ΡΠΎΠΊ ΠΎΠ±ΡΠ·Π°Π½ ΡΡΠ±ΠΈΡΡ. ΠΡΠ»ΠΈ jumpInd=0, ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΡΡΠ° ΡΠ°ΡΠΊΠ° ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΎΠ΄. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ Π½Π° Π±ΠΎΠΉ, ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΡΠΎΡΠ΅: Π΅ΡΠ»ΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Π΅ΠΉ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ: Β«ΡΠ°ΡΠΊΠ°(1) β ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅(Π΄Π»Ρ Π±Π΅Π»ΡΡ ) ΠΈ ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅ β ΡΠ°ΡΠΊΠ°(1)Β» [Π΄Π»Ρ ΡΠ΅ΡΠ½ΡΡ ], ΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅. ΠΡΠ»ΠΈ jumpInd=1 ΠΈ ΠΈΠ³ΡΠΎΠΊ Π²ΡΠ±ΡΠ°Π» ΡΠ°ΡΠΊΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠΎΡ Π±ΠΎΠΉ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ, ΡΠΎ ΠΊΠ»Π΅ΡΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ Π±ΠΎΠΉ, ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡΡ ΠΈ ΡΠ°ΡΠΊΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ Ρ ΠΎΠ΄. ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½ΡΠΆΠ½Ρ Π»ΠΈΡΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΠ³ΡΠΎΠΊΠ°. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ ΠΈΠ³ΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ ΠΏΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠ°ΡΠΊΠ΅ ΠΈ ΡΠΎΠ³Π΄Π° Π°Π»Π³ΠΎΡΠΈΡΠΌ Π½Π°ΡΠ½Π΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π°, Π° ΠΌΠΎΠΆΠ΅Ρ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ ΠΈ ΡΠΎΠ²Π΅ΡΡΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Ρ ΠΎΠ΄.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ³ΡΠΎΠΊ ΠΊΠ»ΠΈΠΊΠ½ΡΠ» ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΠΌΡ ΠΏΠΎΠ»Ρ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, Β«ΠΏΠΎΠ΄ΡΠΈΡΠ°ΡΡΠΈΠ΅ Ρ Π²ΠΎΡΡΡΒ» ΠΈ ΠΌΠ΅Π½ΡΡΡΠΈΠ΅ ΡΠ²Π΅ΡΠ° ΠΊΠ»Π΅ΡΠΎΠΊ. ΠΡΠ»ΠΈ jumpInd Π±ΡΠ» ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ, ΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Ρ ΠΎΠ΄ Π²ΡΠΎΡΠΎΠΌΡ ΠΈΠ³ΡΠΎΠΊΡ. ΠΡΠ»ΠΈ jumpInd=1, ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΈΠ³ΡΠΎΠΊ ΡΡΡΠ±ΠΈΡΡ Π΅ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ. ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΠΌ ΠΏΠΎΠ»Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π±ΠΎΡ. ΠΠ΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΡΠΎΠ³ΠΎ, Π½Π΅ ΡΡΠ°Π»Π° Π»ΠΈ ΡΠ°ΡΠΊΠ° Π΄Π°ΠΌΠΊΠΎΠΉ. ΠΡΠ»ΠΈ Π΄Π°, ΡΠΎ Π±ΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΆΠ΅ ΠΏΠΎ Π΄Π°ΠΌΠΎΡΠ½ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ. ΠΡΠ»ΠΈ Π±ΠΎΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅Ρ, ΡΠΎ ΠΎΠΏΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Π½Π° ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π² Π΄Π°ΠΌΠΊΡ, ΠΎΠ±Π½ΡΠ»ΠΈΠΌ jumpInd ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΄ΠΈΠΌ Ρ ΠΎΠ΄.
ΠΠ°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΡΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΠΊΠΈ, Π½ΠΎ ΡΡΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°ΡΠ°Π»ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°ΠΌΠΎΠΊ. ΠΠ΄Π΅ΡΡ Π²ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Ρ Ρ Π½ΠΈΠΌΠΈ ΠΈΠ·ΡΡΠ΄Π½ΠΎ ΠΏΠΎΠΏΠΎΡΠ΅Π», Ρ ΠΎΡΡ ΡΠ°ΠΌΠ° ΡΡΡΡ ΠΏΠΎΡ ΠΎΠΆΠ°.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π² ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ, Π½ΠΎ Ρ Π±ΡΠ΄Ρ ΠΏΠΈΡΠ°ΡΡ Π»ΠΈΡΡ Π² ΠΎΠ΄Π½Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΡΡ Π»ΠΈΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π»Ρ Ρ
ΠΎΠ΄Π°: Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ: Β«Π΄Π°ΠΌΠΊΠ° β ΠΏΡΡΡΠΎΠ΅ ΠΏΠΎΠ»Π΅Β», ΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡΡ ΡΡΡ ΠΊΠ»Π΅ΡΠΊΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ. ΠΡΠΏΠΎΠ»Π½ΡΡΡ Π΄ΠΎ ΡΠ΅Ρ
ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»Ρ Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ ΡΠ°ΡΠΊΠ°(Π΄Π°ΠΌΠΊΠ°) ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°.
ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π΄Π»Ρ Π±ΠΎΡ: Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ: Β«Π΄Π°ΠΌΠΊΠ° β z ΠΏΡΡΡΡΡ
ΠΏΠΎΠ»Π΅ΠΉ β ΡΠ°ΡΠΊΠ°(Π΄Π°ΠΌΠΊΠ°) ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° β n ΠΏΡΡΡΡΡ
ΠΏΠΎΠ»Π΅ΠΉΒ» (z>=0, n>0), ΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΈΡΡ Π²ΡΠ΅ n ΠΏΡΡΡΡΡ
ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠΎΡΠ»Π΅ ΡΠ°ΡΠΊΠΈ ΡΠΎΠΏΠ΅ΡΠ½ΠΈΠΊΠ° (Π΅ΡΠ»ΠΈ Π²ΡΡΡΠ΅ΡΠΈΡΡΡ Π΅ΡΡ ΠΎΠ΄Π½Π° ΡΠ°ΡΠΊΠ° ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠ°, ΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ) ΠΈ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π²ΡΠ΅ ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, Ρ
ΡΠ°Π½ΡΡΠΈΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π±ΠΎΡΡ
, ΡΡΠΎ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°ΡΠΊΠΎΠΉ. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΠ³ΡΠΎΠΊ ΠΊΠ»ΠΈΠΊΠ½Π΅Ρ Π½Π° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠ»Π΅ΡΠΊΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΎΡ Π² Π»ΡΠ±ΡΡ ΡΡΠΎΡΠΎΠ½Ρ, ΠΊΡΠΎΠΌΠ΅ ΡΠΎΠΉ, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΠΏΡΠΈΡΠ»ΠΈ. Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π²ΡΠ΅Ρ
ΡΡΠΈΡ
ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π·Π°Π½ΡΠ»Π° Ρ ΠΌΠ΅Π½Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΈ ΠΌΠ΅ΡΡΠ°, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ ΠΏΡΠΎΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΡΠΏΡΡΡΠΈΠ» ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡ ΠΊΠΎΡΠΎΡΠ΅ ΠΈ ΠΊΡΠ°ΡΠΈΠ²Π΅Π΅.
Π Π΅ΡΡ ΠΎΠ΄Π½Π° ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½Π°Ρ Π²Π΅ΡΡ: Π½Π΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠΈ: ΡΠ°ΡΠΊΡ Π½Π΅Π»ΡΠ·Ρ ΡΡΡΠ±ΠΈΡΡ Π΄Π²Π°ΠΆΠ΄Ρ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ°ΡΠΊΠ° Π½Π° Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π²Ρ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ, ΡΠΆΠ΅ Π±ΡΠ»Π° ΡΡΡΠ±Π»Π΅Π½Π°, ΡΠΎ Ρ ΠΎΠ΄ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ (Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΠ°ΡΠΊΠΈ Π½Π° ΡΠΎΠΌ ΠΏΠΎΠ»Π΅, Π³Π΄Π΅ ΠΎΠ½Π° ΡΠ΅ΠΉΡΠ°Ρ ΡΡΠΎΠΈΡ, Π° Π΄Π»Ρ Π΄Π°ΠΌΠΊΠΈ Π½Π° Π»ΡΠ±ΡΠΌ ΠΈΠ· ΠΏΡΡΡΡΡ ΠΏΠΎΠ»Π΅ΠΉ Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ ΡΡΠΎΠΉ ΡΠΆΠ΅ ΡΡΡΠ±Π»Π΅Π½Π½ΠΎΠΉ ΡΠ°ΡΠΊΠΈ ΠΏΡΠΎΡΠΈΠ²Π½ΠΈΠΊΠ°). ΠΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ: ΠΌΠΎΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π² ΠΊΠ°ΠΊΠΎΠΌ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΌΠ°ΡΡΠΈΠ²Π΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠΆΠ΅ ΡΡΡΠ±Π»Π΅Π½Π½ΡΡ ΡΠ°ΡΠ΅ΠΊ, ΠΎΠ±Π½ΡΠ»ΡΡ Π΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Ρ ΠΎΠ΄Π°. (ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ ΠΈ Π΄Π΅Π»Π°Π»)
(ΠΠ°ΠΌΠΊΠ° ΡΠ΅ΡΠ½ΡΡ
ΠΎΠ±ΡΠ·Π°Π½Π° ΡΡΠ±ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΏΡΡΡΠΌ: h4:e1:c3:e5 ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΡΠΊΠ° g3 Π²ΡΡ Π΅ΡΡ Π½Π° Π΄ΠΎΡΠΊΠ΅. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π±Π΅Π»ΡΠ΅ ΡΡΠ±ΡΡ Π² Π΄Π°ΠΌΠΊΠΈ ΠΈ Π²ΡΠΈΠ³ΡΡΠ²Π°ΡΡ)
ΠΠ΅ΡΡ ΡΡΠΎΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π±Π»ΠΎΠΊ-ΡΡ Π΅ΠΌΠΎΠΉ:
ΠΠ΅ΡΠ²ΡΠΉ ΠΊΠ»ΠΈΠΊ:
ΠΡΠΎΡΠΎΠΉ ΠΊΠ»ΠΈΠΊ:
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΠ½ΡΠ»Π°, Π³Π΄Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ»ΠΈΠΊ, Π° Π³Π΄Π΅ Π²ΡΠΎΡΠΎΠΉ, β ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ, false = ΠΏΠ΅ΡΠ²ΡΠΉ ΠΊΠ»ΠΈΠΊ, true = Π²ΡΠΎΡΠΎΠΉ ΠΊΠ»ΠΈΠΊ.
Π ΠΎΠ±ΡΠ΅ΠΌ-ΡΠΎ, Π½Π° ΡΡΠΎΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΈΠ³ΡΡ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ. ΠΡΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π² ΠΊΠΎΠ΄ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅Π»ΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ ΡΡΡΠ΄Π½ΠΎΡΡΠ΅ΠΉ, ΠΈΠ·-Π·Π° ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ΄ Π²ΡΡ ΡΠ°Π·Π±ΡΡ Π°Π΅Ρ ΠΈ ΡΠ°Π·Π±ΡΡ Π°Π΅Ρ. ΠΠΈΠ½ΠΎΠ²Π°Ρ Π² ΡΡΠΎΠΌ ΡΠ°ΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΠΊΠΈ, Π²ΡΠ±ΡΠ°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠΉ, Π½ΠΎ ΡΡΠΎ Π»ΡΡΡΠ΅Π΅ ΠΈΠ· ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΈΡΠ»ΠΎ Π² Π³ΠΎΠ»ΠΎΠ²Ρ Π·Π° ΡΠ΅ Π΄Π²Π΅-ΡΡΠΈ Π½Π΅Π΄Π΅Π»ΠΈ (Π΄Π° ΠΈ ΡΠ΅ Ρ ΠΎΡΡΡΠΈΠΌΡΠΌΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ²Π°ΠΌΠΈ), ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π½Π°Π³Π»ΡΠ΄Π½Ρ, Π·Π°ΠΏΡΡΠ°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π° ΠΊΠΎΠ΄ ΡΠΈΡΠ°Π΅ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ. ΠΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ ΠΏΠΎΠΆΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°Π΄ΠΈ ΡΡΠΎΠ³ΠΎ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎΡΡΡΡ ΠΊΠΎΠ΄Π° β Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ.
ΠΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π° ΡΡΠΎΠΌ Π½Π°ΡΠΈ ΠΏΡΠΈΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΡΡ. ΠΠ°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎ ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈ ΡΠ°ΡΠΊΠΈ Π΄Π²ΠΈΠ³Π°ΡΡΡΡ, Π½ΠΎ Ρ ΠΊΠ΅ΠΌ ΠΆΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΠ³ΡΠ°ΡΡ? ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΡΠΊΡΡΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅Π»Π»Π΅ΠΊΡ Π΄Π»Ρ ΠΈΠ³ΡΡ. Π ΡΠΎΠΆΠ°Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Ρ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·-Π·Π° ΠΏΠ»ΠΎΡ ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΡΠΈΠ½Π°Π»Π° Π²ΠΈΡΠ½ΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΡΡΠ΅ΡΠ΅ Π΄Π°Π»Π΅Π΅, ΡΠ΅ΠΌ Π½Π° 5-6 Ρ ΠΎΠ΄ΠΎΠ² (ΠΏΠΎΡΡΠ΄ΠΊΠ° 20-25 ΡΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ). ΠΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Ρ ΠΌΠ°Ρ ΠΈ Π΄ΡΡΠ³ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³Ρ ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ Π΅Ρ Π²ΡΠ΅ΠΌ, ΠΊΡΠΎ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΠ Π² Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ³ΡΠ°Ρ . Π― ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π½Π° ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ΅ Β«Π°Π»ΡΡΠ°-Π±Π΅ΡΠ° ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠΉΒ», Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π·Π΄Π΅ΡΡ Ρ Π΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· Π½Π° Π₯Π°Π±ΡΠ΅ Π±ΡΠ» ΠΎΠΏΠΈΡΠ°Π½ Π΄ΠΎ ΠΌΠ΅Π½Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
Π Π½Π΅ΡΡΠ°ΡΡΡΡ, ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΠΊΠΎΠ½ΠΊΡΡΡ, ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ» Π² Π½Π°ΡΠ°Π»Π΅, ΠΏΠΎΠΌΠ΅Π½ΡΠ»Π°ΡΡ β ΠΏΠΎΡΡΠΎΠΌΡ ΠΠ ΡΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π»ΡΡ Π½Π΅Π΄ΠΎΠ΄Π΅Π»Π°Π½Π½ΡΠΌ ΠΈ Π±ΡΠ» ΠΎΡΠ±ΡΠΎΡΠ΅Π½ Π² Π΄Π°Π»ΡΠ½ΠΈΠΉ ΡΡΠΈΠΊ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΡΠΏΠ΅Π» ΡΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ β ΡΠΎΠΆΠ΅. Π― ΠΌΠΎΠ³ Π±Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΈΡ Π·Π΄Π΅ΡΡ, Π½ΠΎ ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ° ΠΈΠ·-Π·Π° ΡΠ²ΠΎΠ΅ΠΉ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΡΡΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ. ΠΡΠ»ΠΈ ΠΊΠΎΠΌΡ-ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΠΎ ΠΌΠΎΠ³Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΠ°ΡΡΡ ΠΏΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π²ΡΡ ΡΡΠΎ Π΄Π΅Π»ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ»ΠΎ ΠΏΠΎΠ»Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ ΠΈ ΡΡΠ°ΡΡΡ Ρ ΠΏΠΈΡΠ°Π» Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΎ Π³Π΄Π΅-ΡΠΎ ΠΌΠΎΠ³Π»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈΠ»ΠΈ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ, Π±ΡΠ΄Ρ ΡΠ°Π΄, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΌΠ½Π΅ Π½Π° Π½ΠΈΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ . ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ, ΡΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΡΠ°ΠΌ ΠΆΠ΅. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
Π¨Π°ΡΠΊΠΈ Π½Π° python ΠΊΠΎΠ΄
AI for Playing Russian Checkers (aka «Shashki»)
The code plays Russian Checkers (see official rules) against a popular Android App with the same name (500k+ installs, 4.3 stars). Below we refer to this app as the «Android app».
The original motivation of the project was to beat that app on the most difficult level (called «very hard»). This goal was achieved in that the present AI’s typically winning about 43% of the games while losing around 12% to the Android app; the remaining 45% are a draw. Please note that despite this specific goal the AI is not tied in any way to play against this specific app and it can be used to compute optimal moves using any API/front end.
At engine level there’s nothing fancy there. I had two goals in mind: i) gain in-depth understanding of how game tree search works and ii) create a solid and performant baseline for later experiments with Reinforcement Learning (RL). The code is fairly modular and the core parts are well tested, so please hack away, experiment, improve, or extend anything. And when done, don’t forget to send a PR!
Mostly for debugging and possibly of some pedagogical value, there’s the option to visualize and interactively explore the game tree in your browser for any given board.
The code was developed and tested on Ubuntu but it shouldn’t be hard to port it to MS Windows or macOS. At least there’s no platform-dependent hacks, promise!
Components and Folder Structure
The project contains a number of multiple, loosly coupled components:
The steps below assume that you’re on an Linux-based system. Adapting them for other platforms should be straightforward though.
Build and Run the Engine
Install CMake 3.9 or later
Build and install Pistache. We need it to run our REST service. When done edit CMakeLists.txt and have Pistache_DIR point to the install location
From the root directory, run
The build should complete without any errors or warnings
(optional) Now you may want to
Get Android Device Ready
Now we will fire up the Python client. It will control the Android app through ADB, retrieve the moves from the REST API and execute them.
Install the Android SDK. There’s at least two options:
Directly using the Play store of the Android device, you now want to fetch the Russian Checkers App app. Start a new game. It’s really important that you play white and run in «Tournament Mode» (use checkbox). This is a simplification from the driver code while the engine doesn’t mind what color you play
Setup a Python environment: the code has been run on Python 3.8.5 however it should work with any Python 3.5+. Typing
from the python sub-folder should to get you started the most important packages. Possibly you’ll manually have to add another package or two. Being this unspecific helps to reduce pollution in non-managed (i.e. non-conda-like) environments
Visualizing the Game Tree
Assuming the game server has been started as described above, you can visualize the game tree and explore it interactively simply by opening web/tree_viz/index.html in your browser of choice (tested on Chrome on Firefox). Just click the «Visualize» button.
Eventually you should see something similar to this (click to enlage):
As a reference, below’s the stats of a tournament where the AI (search depth 12) played 187 games against the Android app (at max difficulty). The AI significanlty outperformed the Android app, winning 81 games while the Android app won 23.
Conventions.
Board representation. The 8×8 chessboard contains 32 dark squares which mark the valid positions for any token. We index them as follows:
Each position may hold a man or a king while each of them can be black or white. Hence we choose a bitboard-type of representation of the board using two 64-bit integers (called a slice), one for black and one for white. Such a slice stores the positions of men in its lower 32 bits while king positions occupy the upper 32 bits.
Move representation. Similarly we represent a move with a single 16-bit integer by defining
where the five f and the five t bits each encode a number in 0..31, indicating the origin ( f
from) and the destination ( t
Actions. The above choice of representation is a trade-off between efficiency and usability. Despite highly optimized bitboard schemes exist, they are not straight-forward to apply to the Russian variant of checkers, mainly due to flying kings. Our representation allows for such moves while we can still express all operations using bitwise arithmetic.
Code Generation. We use Python to generate the code for four core functions,
Where To Go From Here
Given this reasonably strong baseline, it’ll be interesting to try out different RL techniques on this problem. As a start, you may want to write your own OpenAI Gym enviroment in Python and plug it into a framework/library such as tf_agents, Ray, or keras-rl. This should help to get a first impression on how far one can get with standard, discrete state space RL on this problem. Some inspiration may be found e.g. here.
Personally I’d expect this to work well since the problem is completely deterministic and most of the times the action space is manageable size. Only once kings start to show up on the board, the cardinality of the action space may require some extra thought.
ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ° ΡΠ΅ΡΠΈΡΡ! ΡΡΠ΅Π½ΠΈΡΠΎΠ²ΠΎΡΠ½ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ : Π¨Π°ΡΠΊΠΈ.
ΠΠ° Π΄ΠΎΡΠΊΠ΅ ΡΡΠΎΠΈΡ Π±Π΅Π»Π°Ρ ΡΠ°ΡΠΊΠ°. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΎΠ½Π° ΠΏΠΎΠΏΠ°ΡΡΡ Π² Π·Π°Π΄Π°Π½Π½ΡΡ ΠΊΠ»Π΅ΡΠΊΡ, Π΄Π΅Π»Π°Ρ Ρ ΠΎΠ΄Ρ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ Ρ ΠΎΠ΄Π°ΠΌΠΈ Π΄Π°ΠΌΠΊΠΈ (Ρ. Π΅. Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π½Π°Π·Π°Π΄ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π² Π΄Π°ΠΌΠΊΡ). ΠΠ΅Π»ΡΠ΅ ΡΠ°ΡΠΊΠΈ ΠΌΠΎΠ³ΡΡ Ρ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎ ΠΊΠ»Π΅ΡΠΊΠ°ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ° ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ Π²Π²Π΅ΡΡ -Π²Π»Π΅Π²ΠΎ ΠΈΠ»ΠΈ Π²Π²Π΅ΡΡ -Π²ΠΏΡΠ°Π²ΠΎ. Π₯ΠΎΠ΄ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ!
ΠΠΎΡΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ 8×8, Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ Π½ΡΠΌΠ΅ΡΡΡΡΡΡ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΎΡ 1 Π΄ΠΎ 8 Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π»Π΅Π²ΠΎΠ³ΠΎ Π½ΠΈΠΆΠ½Π΅Π³ΠΎ ΡΠ³Π»Π°. ΠΡΡ ΠΎΠ΄Π½Π°Ρ ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΊΠ»Π΅ΡΠΊΠΈ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ.
ΠΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ»Π΅ΡΠΊΠ°, Π³Π΄Π΅ ΡΡΠΎΠΈΡ ΡΠ°ΡΠΊΠ°, Π° Π·Π°ΡΠ΅ΠΌ ΠΊΠ»Π΅ΡΠΊΠ°, ΠΊΡΠ΄Π° ΡΠ°ΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΏΠ°ΡΡΡ.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠ»Π΅ΡΠΊΠ° ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ. ΠΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ ΠΈΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ Π½Π΅ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΠΈ, Π° Π½ΠΎΠΌΠ΅Ρ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠΈ ΡΡΠΈΡΠ°Ρ ΡΠ»Π΅Π²Π° Π½Π°ΠΏΡΠ°Π²ΠΎ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½Π°Ρ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π½ΠΎΠΌΠ΅ΡΠ° Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΠΈ: Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ΄Π΅Ρ ΡΠ½ΠΈΠ·Ρ Π²Π²Π΅ΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ»Π΅ΡΠΊΠ° A2 ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ 1 2.
ΠΡΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»ΠΎΠ²ΠΎ YES (Π·Π°Π³Π»Π°Π²Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ), Π΅ΡΠ»ΠΈ ΡΠ°ΡΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΏΠ°ΡΡΡ ΠΈΠ· Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠ»Π΅ΡΠΊΠΈ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ, ΠΈ NO Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅.
ΡΠ΅ΡΡ 1
Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
1
1
2
2
Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
YES
ΡΠ΅ΡΡ 2
Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅:
1
1
8
7
Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
NO
ΠΏΠΈΡΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅!
Π½Π΅ ΠΏΠΎΠΉΠΌΡ! ΡΡΠΎ Π½Π΅ ΡΠ°ΠΊ?!
ΠΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈ Π·Π°Π΄Π°ΡΠ° ΠΈΠ· ΠΊΡΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΠΈΡΠΎΠ½.
75/100ΠΡΠ΅Π½ΠΊΠ°: 75 ΠΈΠ· 100
ΠΠ΅Ρ! ΠΠ°Π΄Π°Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΎΠΉΠ΄Π΅Π½ΠΎ
Π‘Π΄Π°ΡΠ° Π·Π°Π΄Π°ΡΠΈ
75/100ΠΡΠ΅Π½ΠΊΠ°: 75 ΠΈΠ· 100
ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠ°
Test 10
Wrong answer.
ΠΡΡΡΠ΅ΡΠ° ΡΠ°ΡΠ΅ΠΊ
ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊ Π½Π΅ΠΉ ΠΊΠΎΠ΄, Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ
ΠΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ , ΠΊΡΡΡΠΎΠ²ΡΡ ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΡΡ ΡΠ°Π±ΠΎΡ Π·Π΄Π΅ΡΡ.
ΠΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ
Screenshot (25).png |
ΠΠΎΠΌΠΎΠΊΡ (Π°Π½Π°Π»ΠΎΠ³ ΡΠ°ΡΠ΅ΠΊ), ΡΠ°Π½Π΄ΠΎΠΌΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠ΅ΠΊ
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! ΠΠΎΠΌΠΎΠ³ΠΈΡΠ΅, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠ΅ΡΠ΅Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ΄ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ°ΡΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ»ΠΈΡΡ Π½Π΅ ΠΏΠΎ ΡΠ΅Π»ΡΠΊΡ, Π°.
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠ΅ΠΊ
ΠΠΎΠ±ΡΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠΎΠΊ, ΡΠΎΡΡΠΌΡΠ°Π½Π΅. ΠΠ°Π΄Π°Π»ΡΡ ΡΠ΅Π»ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΡΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ²ΡΠ·ΠΊΡ Qt, OpenGL, C++.
ΠΠ Π΄Π»Ρ ΡΠ°ΡΠ΅ΠΊ
ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΊΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ
Ρ
ΠΎΠ΄ΠΎΠ² Π±ΠΎΡΠ°
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠ΅ΠΊ
ΠΠ΅ Π·Π½Π°Ρ Π΄Π°ΠΆΠ΅ Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ. ΠΡΡΡ ΠΊΠ»Π°ΡΡ Block, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΡΠ°Π½ΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΡΠΊΠΈ, Ρ.Π΅.
ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° | ||
|
ΠΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ , ΠΊΡΡΡΠΎΠ²ΡΡ ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½ΡΡ ΡΠ°Π±ΠΎΡ Π·Π΄Π΅ΡΡ.
ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΠ΅ΠΊ
ΠΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΈΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΡ ΡΠ°ΡΠΊΠΈ ΠΊΠΎΠΌΠΏ. ΠΏΡΠΎΡΠΈΠ² ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠ°. ΠΠΎΠ½Π΅ΡΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
ΠΠ²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠ΅ΠΊ
ΠΠ³ΡΠ° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΠ»ΠΎΡΠ°Π΄ΠΊΠ΅, ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ Π½Π° ΠΏΠΎΠ»Ρ. Π§ΠΈΡΠ»ΠΎ ΠΏΠΎΠ»Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ΡΡΡΠ½ΡΠΌ ΠΈ.
ΠΡΡΡΠ΅ΡΠ° Π² ΡΠ΅Π°Π»Π΅.
Π Π½Π΅ Π½Π°ΠΏΠΈΡΡΡΡ Π»ΠΈ Π½Π°ΠΌ Π² ΡΠ΅Π°Π»Π΅ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΎΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π³ΡΡΠ΄ΡΡΠ΅Π³ΠΎ Π»Π΅ΡΠ° Π³ΠΎΠ΄Π° ΡΠ΅Π³ΠΎ Π΄Π²Π΅ ΡΡΡΡΡΠΈ.
ΠΡΠΆΠ΅Π½ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊ ΡΠ°ΡΠ΅ΠΊ
ΠΠ°ΡΠΎΠ΄ ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅, Π΅ΡΡΡ Ρ ΠΊΠΎΠ³ΠΎ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ ΡΠ°ΡΠ΅ΠΊ Π½Π° C#! P.S:Windows Form
ΠΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΠΈΠΊΠΈ ΡΠ°ΡΠ΅ΠΊ
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΠΏΠΎΠΌΠΎΠ³ΠΈΡΠ΅ ΠΌΠ½Π΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΡΠΊΠΈ Π½Π° Qt
ΠΠ°Π΄Π°ΡΠ° ΠΎ ΡΡΠΎΠΏΠΊΠ΅ ΡΠ°ΡΠ΅ΠΊ
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, ΡΠΎΡΡΠΌΡΠ°Π½Π΅! ΠΠ° Π΄Π½ΡΡ
ΠΏΠΎΠΏΠ°Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ Π·Π°Π΄Π°ΡΠ°: Π½Π° Π΄ΠΎΡΠΊΠ΅ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΏΡΡΡ ΡΡΠ΅Π΅ΠΊ (A, B, C.
ΠΡΠΎΡΡΡΠ΅ ΠΈΠ³ΡΡ Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° Python
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Python.
Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Python.
ΠΠΎΡΠ΅ΠΌΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Python?
Python β ΡΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Python ΠΊΠΎΠ΄ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ. Π‘ΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ ΠΎΠ½ ΡΠ΄ΠΎΠ±Π΅Π½ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΠ±ΠΎΠΉ Π½ΠΎΠ²ΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΡΡΠΈΡΡΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° Python Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΊΠ° Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°:
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³Ρ Π² Python
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΡΡΡ ΠΈΠ³Ρ Π² Python, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΡΡ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ!
1. ΠΠ³ΡΠ° Π²ΠΈΠΊΡΠΎΡΠΈΠ½Π° Π² Python
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΡΠ΅ΠΊΡΡΠΎΠ²Π°Ρ ΠΈΠ³ΡΠ° Π½Π° Python. ΠΡΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ Π²ΠΈΠΊΡΠΎΡΠΈΠ½Π°, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΈΡ Π΄ΡΡΠ·Π΅ΠΉ. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΈΠ³ΡΡ, ΡΡΠΎ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ Π΅Ρ! ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ.
2. ΠΠ³ΡΠ° Π² Pong Π½Π° Python
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΠ· Π½Π°Ρ ΡΠ»ΡΡΠ°Π»ΠΈ ΠΎ Π·Π½Π°ΠΌΠ΅Π½ΠΈΡΠΎΠΉ ΠΈΠ³ΡΠ΅ Π² Pong. ΠΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½Π°Ρ Π»ΡΠ±ΡΡ ΠΈΠ³ΡΠ°ΡΡ. Π‘Π΅Π³ΠΎΠ΄Π½Ρ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ³ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ python!
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ turtle. ΠΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Python, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΠΈ ΡΠΈΠ³ΡΡΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΈΠΌ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ Ρ ΠΎΠ»ΡΡ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ pip.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ turtle ΠΈΠ· ΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΊΠΎΠ΄ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ!
3. ΠΠ³ΡΠ° Hungry Snake Π½Π° Python
ΠΡΠΎ Π±ΡΠ»Π° Π½Π°ΡΠ° Π»ΡΠ±ΠΈΠΌΠ°Ρ ΠΈΠ³ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π±ΡΠ»ΠΈ Π΄Π΅ΡΡΠΌΠΈ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΠΈΠ³ΡΡ Π² python, ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡ Π²ΡΠ΅Π³ΠΎ Π΄Π²Π° ΠΌΠΎΠ΄ΡΠ»Ρ! ΠΠ°ΠΊ ΡΡΠΎ ΠΊΡΡΡΠΎ!
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ turtle. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΎΠ½Π° Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉ cmd ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ. Π‘Π»ΡΡΠ°ΠΉΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». Π Π²Π°ΡΠ΅ΠΌ ΡΠΈΠΏΠ΅ CMD Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ random2. ΠΠΎΠ΄ΡΠ»Ρ random2 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π». ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² cmd ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ ΠΊΠΎΠ΄ Π½ΠΈΠΆΠ΅ ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΠΉΡΠ΅ΡΡ ΠΈΠ³ΡΠΎΠΉ!
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΡ ΠΈ Π²ΡΠ΅! ΠΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΏΡΠΎΡΡΡΡ ΠΈΠ³Ρ Π² Python, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡΠΎΠΊ ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅Π»ΠΈΡΡΡΡ! ΠΡ Π»ΡΠ±ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠΈ ΠΈΠ³ΡΡ, ΠΈ ΠΌΡ Π½Π°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΠΎΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ!