ΠΠ»Ρ ΡΠ΅Π³ΠΎ Π½ΡΠΆΠ½Ρ ΡΠΈΡΠ»Π° ΡΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ
Π§ΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π½Π° Java ΠΎ ΡΠΈΡΠ»Π°Ρ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° 0 ΠΎΠΏΡΡΠΊΠ°Π΅ΡΡΡ, ΠΈ ΡΡΠ΄ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 1 1 2 3β¦ ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π·Π°Π΄Π°ΡΠΈ ΡΡΠ°Π·Ρ ΡΡΠΎΡΠ½ΡΠ΅ΡΡΡ, Ρ ΠΊΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ²ΡΡ Π΄Π²ΡΡ ΡΠΈΡΠ΅Π» Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΡΠ΄ (0,1 ΠΈΠ»ΠΈ 1,1), ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π»ΡΡΠ΅ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°Π΅Π².
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ²ΡΡ n ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π² Java
Π Π½Π°ΠΌ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π½Π΅ΠΊΠΎΠ΅ ΡΠΈΡΠ»ΠΎ n:
ΠΡ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΌΠ°ΡΡΠΈΠ² ΡΠ°Π·ΠΌΠ΅ΡΠ° n. ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π±ΡΠ΄ΡΡ ΡΠ°Π²Π½Ρ Π½ΡΠ»Ρ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ΅, Π° ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ, ΠΏΡΠΎΡ ΠΎΠ΄ΡΡΡ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠΈΠΊΠ»Ρ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠΈΡΠ»Π° ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²Π°.
Π Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½:
Π΄Π»Ρ ΡΠ»ΡΡΠ°Ρ 1,1 ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ:
ΠΡΡ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ β ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° arr[0]: Ρ 0 Π½Π° 1. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΠ΅ΡΠ²ΡΠ΅ 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π±ΡΠ΄ΡΡ:
ΠΠ΅ΡΠ²ΡΠ΅ n ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΡΠ΅ΡΠ΅Π· stream
Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ iterate ΠΊΠ»Π°ΡΡΠ° Stream Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΌΠ°ΡΡΠΈΠ²Ρ arr. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ»ΡΠΆΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΠΈΠ²Π°, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ. ΠΠ°ΠΊ ΠΈΡΠΎΠ³ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠΎΡΠΎΠΊ ΠΈΠ· ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
ΠΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΠΎΠΊΡΡΡΠ΅, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ?
ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ
1,1 ΡΡΠΎΡ ΠΊΠΎΠ΄ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅:
ΠΠΏΡΡΡ ΠΆΠ΅, ΡΠ°Π·Π»ΠΈΡΠΈΡ β Π² Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ΅: Π²ΠΌΠ΅ΡΡΠΎ <0, 1>Π·Π°Π΄Π°ΡΠΌ
Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π±ΡΠ΄ΡΡ ΡΠ°ΠΊΠΈΠΌΠΈ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
Π‘ΡΠΌΠΌΠ° ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ n-ΠΎΠ³ΠΎ ΡΠΈΡΠ»ΠΎ Π² ΡΡΠ΄Π΅ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Ρ 0,1 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ 0, Π° Π²ΡΠΎΡΠΎΠΉ β 1. ΠΠΎ ΡΡΡΠΈ Π½Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΡΠ»ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡΡ , Π½ΡΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°.
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ 1,1 Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ:
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π°ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π°Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠ°ΠΊ 1, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅, ΠΈ ΡΠ΅Π°ΠΊΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅.
ΠΡΠΈ ΡΡΠΎΠΌ ΠΌΡ Π·Π°Π΄Π°ΡΠΌ ΡΠ΅Π°ΠΊΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° 0, Π²Π΅Π΄Ρ Π΅ΡΠ»ΠΈ Π½Π΅ Π·Π°Π΄Π°ΡΡ, ΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ΄ΡΡ 2 ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄, Π½ΠΎ Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ 0. ΠΠ°Π»Π΅Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΡΠΎΡ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄, Π½ΠΎ ΡΠΆΠ΅ Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΊ Π΄ΠΎ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΊ ΠΈΡΠΎΠ³ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ StackOverflowError.
5 ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ: ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΆΠ΅ ΠΏΠΎΠ΄Π½Π°Π΄ΠΎΠ΅ΡΡΡ. ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π²Π΅Π·Π΄Π΅. ΠΡΡ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠΈ ΡΠΈΡΠ»Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΡΠ΅ΠΉΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΡΠΈΠΈ. Π Π΅ΡΡ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠΎ Π½Π°Π΄ΠΎ Π»ΠΈ Π²ΡΡΠΈΡΠ»ΡΡΡ ΠΈΡ ΡΠ°ΠΊ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅? ΠΠ΅ Π½Π°Π΄ΠΎ. ΠΠΈ ΡΠ΅ΠΊΡΡΡΠΈΡ, Π½ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ. Π Π½Π΅ Π·Π°ΠΌΠΊΠ½ΡΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ°Ρ ΡΠΈΡΠ»Π° Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ. Π‘Π΅ΠΉΡΠ°Ρ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠΉΠ΄ΡΠΌΡΡ ΠΏΠΎ Π²ΡΠ΅ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΠ΄ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ Python 3, Ρ ΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄ΡΠΈ ΠΈ Π½Π° Python 2.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° β Π½Π°ΠΏΠΎΠΌΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:
ΠΠ°ΠΌΠΊΠ½ΡΡΠ°Ρ ΡΠΎΡΠΌΡΠ»Π°
Π Π΅ΡΠ°Π΅ΠΌ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅:
ΠΡΠΊΡΠ΄Π° ΠΈ ΡΠ°ΡΡΡΡ Β«Π·ΠΎΠ»ΠΎΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅Β» Ο=(1+β5)/2. ΠΠΎΠ΄ΡΡΠ°Π²ΠΈΠ² ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ΄Π΅Π»Π°Π² Π΅ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ:
ΡΡΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Fn.
Π₯ΠΎΡΠΎΡΠ΅Π΅:
ΠΡΡΡΡΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ Π΄Π»Ρ ΠΌΠ°Π»ΡΡ
n
ΠΠ»ΠΎΡ
ΠΎΠ΅:
Π’ΡΠ΅Π±ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
n ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΡΠΎΡΠ½ΠΎΡΡΡ.
ΠΠ»ΠΎΠ΅:
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ
ΡΠΈΡΠ΅Π» Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Fn ΠΊΡΠ°ΡΠΈΠ²ΠΎ Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ, Π½ΠΎ ΡΡΠΎΠ΄Π»ΠΈΠ²ΠΎ β Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ.
Π Π΅ΠΊΡΡΡΠΈΡ
Π‘Π°ΠΌΠΎΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ ΡΠΆΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π· Π²ΠΈΠ΄Π΅Π»ΠΈ β ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΡ. ΠΠΎΠ²ΡΠΎΡΡ Π΅Π³ΠΎ Π΅ΡΡ ΡΠ°Π·, Π΄Π»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ. Π Python Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ:
Π₯ΠΎΡΠΎΡΠ΅Π΅:
ΠΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ, ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ°Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅
ΠΠ»ΠΎΡ
ΠΎΠ΅:
ΠΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
n ΠΎΡΠ΅Π½Ρ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ
ΠΠ»ΠΎΠ΅:
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅
Π£ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ΅ΠΉ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°: ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΠΈΠ΅ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ fib(n), ΡΠΎ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡΡΡ fib(n-1) ΠΈ fib(n-2). ΠΠΎ ΠΊΠΎΠ³Π΄Π° ΡΡΠΈΡΠ°Π΅ΡΡΡ fib(n-1), ΠΎΠ½Π° ΡΠ½ΠΎΠ²Π° Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π΅Ρ fib(n-2) β ΡΠΎ Π΅ΡΡΡ, fib(n-2) ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π΅ΡΡΡ Π΄Π²Π°ΠΆΠ΄Ρ. ΠΡΠ»ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°ΡΡΡΠΆΠ΄Π΅Π½ΠΈΡ, Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ fib(n-3) Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°Π½Π° ΡΡΠΈΠΆΠ΄Ρ, ΠΈ Ρ.Π΄. Π‘Π»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Π½ΠΈΠΉ.
ΠΠΎΡΡΠΎΠΌΡ Π½Π°Π΄ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΈΡ ΡΠ½ΠΎΠ²Π°. ΠΡΠ΅ΠΌΡ ΠΈ ΠΏΠ°ΠΌΡΡΡ Ρ ΡΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΡΡ ΠΎΠ΄ΡΡΡΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Π ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΠΌΠ°ΡΡΠΈΠ².
(Π Python ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ°, functools.lru_cache.)
Π₯ΠΎΡΠΎΡΠ΅Π΅:
ΠΡΠΎΡΡΠΎ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅, Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΡΡΠ°ΡΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΠ°ΠΌΡΡΠΈ.
ΠΠ»ΠΎΡ
ΠΎΠ΅:
Π’ΡΠ°ΡΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°ΠΌΡΡΠΈ
ΠΠ»ΠΎΠ΅:
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°, ΠΊΠ°ΠΊ ΠΈ Ρ ΡΠ΅ΠΊΡΡΡΠΈΠΈ
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
ΠΠΎΡΠ»Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ρ Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½Ρ Π½Π΅ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ, Π° ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ . ΠΡΠΎΠΌΠ΅ ΡΡΠΎΠ³ΠΎ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠΈΠ½Π°ΡΡ Ρ fib(n) ΠΈ ΠΈΠ΄ΡΠΈ Π½Π°Π·Π°Π΄, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΠ°ΡΡ Ρ fib(0) ΠΈ ΠΈΠ΄ΡΠΈ Π²ΠΏΠ΅ΡΡΠ΄. Π£ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ β ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ Π΅ΡΡ Π²ΡΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ ΡΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠ°. Π ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΏΡΠΎΡΠ΅.
ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π₯ΠΎΡΠΎΡΠ΅Π΅:
ΠΡΡΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ ΠΌΠ°Π»ΡΡ
n, ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ΄
ΠΠ»ΠΎΡ
ΠΎΠ΅:
ΠΡΡ Π΅ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
ΠΠ»ΠΎΠ΅:
ΠΠ° ΠΎΡΠΎΠ±ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ.
ΠΠ°ΡΡΠΈΡΠ½Π°Ρ Π°Π»Π³Π΅Π±ΡΠ°
Π, Π½Π°ΠΊΠΎΠ½Π΅Ρ, Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ ΠΎΡΠ²Π΅ΡΠ°Π΅ΠΌΠΎΠ΅, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΡ, ΡΠ°ΠΊ ΠΈ ΠΏΠ°ΠΌΡΡΡ. ΠΠ³ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠΈΡΡ Π½Π° Π»ΡΠ±ΡΡ Π³ΠΎΠΌΠΎΠ³Π΅Π½Π½ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΠ΄Π΅Ρ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ°ΡΡΠΈΡ. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ
Π ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠ³ΠΎ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ
ΠΠ²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ x, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π½Π°ΠΌΠΈ ΡΠ°Π½Π΅Π΅, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ΄Π½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ»ΠΎ ΡΠΎΠ±ΠΎΡ Π·ΠΎΠ»ΠΎΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΡΠ²Π»ΡΡΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΌΠ°ΡΡΠΈΡΡ. ΠΠΎΡΡΠΎΠΌΡ, Π΅ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π° Π·Π°ΠΌΠΊΠ½ΡΡΠΎΠΉ ΡΠΎΡΠΌΡΠ»Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ.
Π’Π°ΠΊ ΡΠ΅ΠΌ ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π° ΡΠ°ΠΊΠ°Ρ ΡΠΎΡΠΌΡΠ»ΠΈΡΠΎΠ²ΠΊΠ°? Π’Π΅ΠΌ, ΡΡΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Π·Π° Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ. Π‘ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ
Π³Π΄Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΡΡΠ½ΡΡ A, Π²ΡΠΎΡΠΎΠ΅ Π΄Π»Ρ Π½Π΅ΡΡΡΠ½ΡΡ . ΠΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΡ, ΠΈ Π²ΡΡ Π³ΠΎΡΠΎΠ²ΠΎ. ΠΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄. Π― ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π» ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ pow, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΅Ρ ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ½ΡΡΡ. ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΌΠΎΡΡΠΈΡΠ΅ ΡΡΡ.
Π₯ΠΎΡΠΎΡΠ΅Π΅:
Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΡΠΌ ΠΏΠ°ΠΌΡΡΠΈ, Π»ΠΎΠ³Π°ΡΠΈΡΠΌΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π²ΡΠ΅ΠΌΡ
ΠΠ»ΠΎΡ
ΠΎΠ΅:
ΠΠΎΠ΄ ΠΏΠΎΡΠ»ΠΎΠΆΠ½Π΅Π΅
ΠΠ»ΠΎΠ΅:
ΠΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ°ΠΌΠΈ, Ρ
ΠΎΡΡ ΠΎΠ½ΠΈ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΈ ΠΏΠ»ΠΎΡ
ΠΈ
Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Π±ΡΡΡΡΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΡΡΠΎΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΌΠ°ΡΡΠΈΡΡ. ΠΡΠ»ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ ΠΈΡ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ Π·Π½Π°ΠΊΠΎΠ² Π² ΡΠΈΡΠ»Π΅ n, ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ, ΡΡΠΎ ΠΌΠ°ΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, Π° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ β ΡΠΊΡΠΏΠΎΠ½Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ. ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ β Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ fib(10 ** 6), ΡΠΈΡΠ»Π°, Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π²ΡΡ ΡΠΎΡ ΡΡΡΡΡ Π·Π½Π°ΠΊΠΎΠ².
n = 10 ** 6
ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ fib_matrix: Ρ fib(n) Π²ΡΠ΅Π³ΠΎ 208988 ΡΠΈΡΡ, ΡΠ°ΡΡΡΡ Π·Π°Π½ΡΠ» 0.24993 ΡΠ΅ΠΊΡΠ½Π΄.
ΠΡΡΠΈΡΠ»ΡΠ΅ΠΌ fib_dynamic: Ρ fib(n) Π²ΡΠ΅Π³ΠΎ 208988 ΡΠΈΡΡ, ΡΠ°ΡΡΡΡ Π·Π°Π½ΡΠ» 11.83377 ΡΠ΅ΠΊΡΠ½Π΄.
Π’Π΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
ΠΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΊΠ°ΡΠ°ΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π°, Π΄Π°Π½Π½ΠΎΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ Π²ΡΡ-ΡΠ°ΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ Π³ΡΠ°Ρ:
ΠΠΎΠ΄ΡΡΠΈΡΠ°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΡΠ΅ΠΉ Π΄Π»ΠΈΠ½Ρ n ΠΎΡ A Π΄ΠΎ B. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ n = 1 Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΡΡ, 1. ΠΠ»Ρ n = 2 Ρ Π½Π°Ρ ΠΎΠΏΡΡΡ Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΡΡΡ, 01. ΠΠ»Ρ n = 3 Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΠΏΡΡΠΈ, 001 ΠΈ 101. ΠΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΡΠ΅ΠΉ Π΄Π»ΠΈΠ½Ρ n ΠΎΡ Π Π΄ΠΎ Π ΡΠ°Π²Π½ΠΎ Π² ΡΠΎΡΠ½ΠΎΡΡΠΈ Fn. ΠΠ°ΠΏΠΈΡΠ°Π² ΠΌΠ°ΡΡΠΈΡΡ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π³ΡΠ°ΡΠ°, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ°ΠΊΡΡ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΎΠΏΠΈΡΠ°Π½Π° Π²ΡΡΠ΅. ΠΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΈΠ· ΡΠ΅ΠΎΡΠΈΠΈ Π³ΡΠ°ΡΠΎΠ², ΡΡΠΎ ΠΏΡΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°ΡΡΠΈΡΠ΅ ΡΠΌΠ΅ΠΆΠ½ΠΎΡΡΠΈ Π, Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π² Π n β ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΡΠ΅ΠΉ Π΄Π»ΠΈΠ½Ρ n Π² Π³ΡΠ°ΡΠ΅ (ΠΎΠ΄Π½Π° ΠΈΠ· Π·Π°Π΄Π°Ρ, ΡΠΏΠΎΠΌΠΈΠ½Π°Π²ΡΠΈΡ ΡΡ Π² ΡΠΈΠ»ΡΠΌΠ΅ Β«Π£ΠΌΠ½ΠΈΡΠ° Π£ΠΈΠ»Π» Π₯Π°Π½ΡΠΈΠ½Π³Β»).
ΠΠΎΡΠ΅ΠΌΡ Π½Π° ΡΡΠ±ΡΠ°Ρ ΡΡΠΎΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ? ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΏΡΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π½Π° Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΉ Π² ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΡΠ΅ΠΉ Π½Π° Π³ΡΠ°ΡΠ΅, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΡΡΠΎ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «ΠΏΠΎΠ΄ΡΠ΄Π²ΠΈΠ³ΠΈ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°», ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π΅ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΠΏ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ ΡΡΠΎΡ ΠΏΠΎΠ΄ΡΠ΄Π²ΠΈΠ³ ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΈΠ·Π²Π΅ΡΡΠ΅Π½, ΠΊΠ°ΠΊ Β«ΡΠ΄Π²ΠΈΠ³ Π·ΠΎΠ»ΠΎΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΡΒ», ΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π½Π°Π±ΠΎΡΠΎΠΌ Β«Π·Π°ΠΏΡΠ΅ΡΡΠ½Π½ΡΡ ΡΠ»ΠΎΠ²Β» <11>. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠ΅ Π² ΠΎΠ±Π΅ ΡΡΠΎΡΠΎΠ½Ρ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°ΡΡ ΠΈΠ· Π½ΠΈΡ Π½Π΅ Π±ΡΠ΄ΡΡ ΡΠΌΠ΅ΠΆΠ½ΡΠΌΠΈ. Π’ΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ½ΡΡΠΎΠΏΠΈΡ ΡΡΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°Π²Π½Π° Π·ΠΎΠ»ΠΎΡΠΎΠΌΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ Ο. ΠΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΎΠ±Π»Π°ΡΡΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ.
ΠΠΎΡΠ΅ΠΌΡ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π·Π½Π°ΡΠΈΠΌΡ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅?
ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΡΡΠ°Π»ΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΠ΅ΠΊΡΡΡΠΈΡ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ Π½Π°ΡΠΊ ΠΈ Π΅ΡΡΡ ΡΠΈΠ»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² ΠΏΡΠΈΡΠΎΠ΄Π΅. ΠΠΎ ΡΡΠΈΠΌ ΠΏΡΠΈΡΠΈΠ½Π°ΠΌ, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ· Π½Π°Ρ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ Π½ΠΈΠΌΠΈ.
ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π½Π°ΡΠΊΠ΅ ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ ΠΌΠ΅ΡΡΠ°Ρ ; Π² ΡΠ΄ΠΈΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ°Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ , ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΡ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
Π΅ΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ Π½Π° ΡΠΌ:
Π΅ΡΡΡ Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ ΡΡΠΈΡ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π°Π΅Ρ ΠΈΠΌ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ Π½Π°Π΄ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡΠΌΠΈ? ΠΡΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ? ΠΠ°ΠΊΠΈΠ΅ Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ?
ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΡΠ°Π½Π½ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΡΠΈΡΠ΅Π», ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π·Π°Π΄Π°ΡΠ°Ρ , Π½ΠΎ Ρ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΠΈΠ΄Π΅Π» ΠΊΠ°ΡΠ°Π»Π°Π½ΡΠΊΠΈΠΉ ΠΊΡΡΠΈ.
8 ΠΎΡΠ²Π΅ΡΠΎΠ²
ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΈΠΌΠ΅ΡΡ Π²ΡΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΎΡΠΎΡΠΈΠ΅ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°ΡΡ ΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌΠΈ Π² ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ΅. ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ:
Π― ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π΅ΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΡΠΈΠ½, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΡΡΠΎ, Π½ΠΎ Ρ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠΈΡΠΈΠ½ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ!
ΠΠ°ΠΈΠ±ΠΎΠ»ΡΡΠΈΠΉ ΠΠ±ΡΠΈΠΉ ΠΠ΅Π»ΠΈΡΠ΅Π»Ρ Π΄ΡΡΠ³ΠΎΠ΅ ΠΌΠ°Π³ΠΈΡ; ΡΠΌ. ΡΡΠΎΠΉ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π³ΠΈΠΈ. ΠΠΎ Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π»Π΅Π³ΠΊΠΎ Π²ΡΡΠΈΡΠ»ΠΈΡΡ; ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΡΠ»Π° 1,2,3,4,5 ΠΈΠΌΠ΅ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠΈ; Π²ΡΠ΅ ΠΏΡΠΎΡΡΡΠ΅ ΡΠΈΡΠ»Π° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²Π½ΡΡΡΠΈ Π½ΠΈΡ ; ΡΡΠΌΠΌΠ° 1..N Π²ΡΡΠΈΡΠ»ΠΈΠΌ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ. Π½ΠΎ Π½ΠΈΠΊΡΠΎ ΠΎ Π½ΠΈΡ Π½Π΅ Π·Π°Π±ΠΎΡΠΈΡΡΡ:)
ΠΎΠ΄Π½Π° Π²Π°ΠΆΠ½Π°Ρ Π²Π΅ΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ Π·Π°Π±ΡΠ», ΡΡΠΎ ΠΠΎΠ»ΠΎΡΠΎΠΉ ΠΡΠΎΠΏΠΎΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΡΡ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Π°ΠΌ Π½ΡΠ°Π²ΡΡΡΡ ΡΠΈΡΠΎΠΊΠΈΠ΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΡ π
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΌΠ°Π½Π½ΠΎΡΠΎΠΌ Ρ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ Π² CS ΠΈ nature, ΠΊΠ°ΠΊΠΎΠΉ Π»ΡΡΡΠΈΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΊΡΠΎ-ΡΠΎ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ?
ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎΠ²ΡΡΠ΄Ρ Π² ΠΏΡΠΈΡΠΎΠ΄Π΅ ΠΈ ΠΆΠΈΠ·Π½ΠΈ. ΠΠ½ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ ΠΏΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΡΠΎΡΡΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠΉ ΠΆΠΈΠ²ΠΎΡΠ½ΡΡ , ΡΠΎΡΡΠ° ΡΠ°ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ»Π΅ΡΠΎΠΊ, ΡΠΎΡΠΌΡ ΡΠ½Π΅ΠΆΠΈΠ½ΠΎΠΊ, ΡΠΎΡΠΌΡ ΡΠ°ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ. Π― ΡΠ»ΡΡΠ°Π», ΡΡΠΎ ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΠΠ-ΠΏΠ°ΡΡΠ΅ΡΠ½ΠΎΠΌ ΠΏΡΠΈΡΠΎΠ΄Ρ.
Torrent ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ·Π»ΠΎΠ² ΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠ΄ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° Π½ΡΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΡΠΏΠ΅ΡΡΠ·Π΅Π» ΠΈ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ΡΠ·Π»ΠΎΠ² ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ. ΠΠ½ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ·Π»Π°ΠΌΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΏΠΈΡΠ°Π»ΠΈ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ (Π·ΠΎΠ»ΠΎΡΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅). Π‘ΠΌ. ΡΠΎΡΠΎ Π½ΠΈΠΆΠ΅, ΠΊΠ°ΠΊ ΡΠ·Π»Ρ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ / ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ (ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡΡΡ Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ° Π½Π° ΠΌΠ΅Π½ΡΡΠΈΠ΅ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ). Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠΎΡΠΎ: http://smartpei.typepad.com/.a/6a00d83451db7969e20115704556bd970b-pi
Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ²Π»Π΅Π½ΠΈΡ Π² ΠΏΡΠΈΡΠΎΠ΄Π΅
Π― Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Π΅ΡΡΡ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ, Π½ΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° S Π½Π° Π΄Π²Π° ΡΠ°Π·Π΄Π΅Π»Π° S1 ΠΈ S2, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ Π·Π°ΡΠ΅ΠΌ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΠ΄ΡΠ°Π·Π΄Π΅Π»Ρ S11 ΠΈ S12, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ, ΡΡΠΎ ΠΈ S2,-ΡΡΠΎ Π²Π΅ΡΠΎΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌ ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΡΠ»Π΅Π½Π½ΠΎ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ.
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΠ΅ ΠΌΠ½Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΊ Π²Π°ΡΠ΅ΠΉ: Π΄Π΅ΡΠ΅Π²ΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ. ΠΠ½ΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡΠΎΡΡΡΠΌ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠ·Π»ΠΎΠ²:
ΠΡΠΎ Ρ ΠΎΡΠΎΡΠΎ ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ templatetypedef Π½Π° AVL-Π΄Π΅ΡΠ΅Π²ΡΡΡ (Π΄Π΅ΡΠ΅Π²ΠΎ AVL ΠΌΠΎΠΆΠ΅Ρ Π² Ρ ΡΠ΄ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΠ΅ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ). Π― ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅Π» Π±ΡΡΠ΅ΡΡ, ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π² ΡΠ°Π³Π°Ρ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ, Π° Π½Π΅ Π² ΡΡΠ΅ΠΏΠ΅Π½ΡΡ Π΄Π²ΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ .
ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΡΠ½ΠΎΡΡΡ [[0,1], [1,1]] ΠΌΠ°ΡΡΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ (Π²ΡΠΎΠ΄Π΅ ΠΊΠ°ΠΊ Π΄ΠΈΠ»Π΅ΠΌΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ-ΡΠ°ΠΌΠ°Ρ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΠΎΡΠΈΠΈ ΠΈΠ³Ρ).
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ «Π§ΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ» Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ
Π‘ Π½Π΅Π΄Π°Π²Π½Π΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΌΠ½Π΅ Π½Π΅ Π΄Π°ΡΡ ΠΏΠΎΠΊΠΎΡ ΡΡΠΈ ΡΠ°ΠΌΡΠ΅ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ! Π‘ ΠΊΠ°ΠΊΠΈΠΌΠΈ Π±Ρ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ ΠΏΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΡΡ, Ρ Π²ΡΡΠ΄Ρ Π²ΡΡΡΠ΅ΡΠ°Ρ ΡΡΠΈ ΡΠΈΡΠ»Π°. ΠΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½ΠΎ ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ.
ΠΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΠΈ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΡ ΡΡΠ°ΡΠ΅ΠΉ. ΠΠ°ΠΆΠ΅ Wikipedia-ΡΡΠ°ΡΡΡ ΠΎ Parallel computing ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
ΠΠ°ΠΊΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π»ΡΠ±ΡΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Cilk? ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ. Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Cilk «Parallelism for the Masses». Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Cilkview. ΠΡΠΎ Π€ΠΈΠ±ΠΎΠ½Π½Π°ΡΠΈ ΠΈΠ΄Π΅Ρ ΡΠ΅ΡΡ Π² «Cilk Reference Manual». ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π²Π΅Π·Π΄Π΅.
Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ «Π’-ΡΠΈΡΡΠ΅ΠΌΠ°», ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΏΠ΅ΡΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ «Π‘ΠΠΠ€» Π‘ΠΎΡΠ·Π½ΠΎΠ³ΠΎ Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π° Π ΠΎΡΡΠΈΠΈ ΠΈ ΠΠ΅Π»Π°ΡΡΡΠΈ: » Π’-Π‘ΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΡΠΊΡΡΡΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ».
ΠΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡ. Π€ΠΈΠ±ΠΎΠΌΠ°Π½ΠΈΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ. π Π‘ΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ°ΡΡΠΎΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ. ΠΡΠΎΡΡΠΎΠΉ ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΈΠ·Π»ΠΈΡΠ½Π΅ ΡΠ°ΡΡΠΎ. ΠΡΡΡ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠ΅ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². ΠΠΎ Π²ΡΠ΅ ΠΎΠ½ΠΈ ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. ΠΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ, ΠΈ Ρ ΠΎΡΡΠ°Π½ΠΎΠ²Π»ΡΡΡ Π½Π° ΡΡΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π ΠΎΠ»Ρ ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ Π½ΠΈ ΡΡΡΠ°Π½Π½ΠΎ, ΡΠΎΡΠΌΠΎΠ·ΠΎΠΌ Π² ΠΈΡΡΠΎΡΠΈΠΈ ΠΏΠΎΠΏΡΠ»ΡΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ΅ ΡΡΠΈ ΡΡΠ°ΡΡΠΈ Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ Π½Π°Π²ΠΎΠ΄ΡΡ Π½Π° ΠΌΡΡΠ»Ρ, ΡΡΠΎ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎ ΡΡΠΎ-ΡΠΎ ΠΎΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ΅, ΡΠ΄Π΅Π» ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΎΠ², ΡΠ΅ΡΠ°ΡΡΠΈΡ ΡΠ²ΠΎΠΈ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ.
ΠΡΠΈΠΌΠ΅ΡΡ Ρ ΡΠΈΡΠ»Π°ΠΌΠΈ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ, Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ ΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΎΡΡΠ°Π²Π»ΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°-ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΈΠΊΠ° ΠΎΡΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠΎ ΠΊ Π΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ. ΠΠ½ ΠΌΡΡΠ»ΠΈΡ Π½Π΅ Π² ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°Ρ , Π° Π² ΡΠΎΡΠΌΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ GUI, Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ «ΡΠ°ΠΉΠ»Ρ» ΠΈ «Π·Π΄Π΅ΡΡ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ²». ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ Π² ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ°. ΠΠΎ ΡΡΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΡΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ΅Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ, ΠΏΡΠΎ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΈΡΡΡ Π² ΡΡΠ°ΡΡΡΡ ΠΈ ΠΊΠ½ΠΈΠ³Π°Ρ .
ΠΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΡΠ΅ΠΉ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΎ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ° ΡΠ°ΡΡΠΎ ΡΠΌΠΎΡΡΠΈΡ Π½Π° ΡΡΠΎ Ρ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ². Π₯ΠΎΡΡ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ. Π ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎ Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ. ΠΠ΄ΠΈΠ½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ· ΡΠ²ΠΎΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΉΡΠ°Ρ.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΡΠ°ΠΏΠΎΠ² ΡΠ°Π·Π²ΠΈΡΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° PVS-Studio Π±ΡΠ»ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΠ΄Π΅ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡ ΡΠ°ΡΡ, ΠΈ ΡΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²Π°ΠΆΠ½ΠΎΠΉ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΎΠΉ ΡΠ°ΠΊΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ².
Π₯ΠΎΡΠΎΡΠΎ, ΡΡΠΎ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ²ΠΈΠ»ΠΎΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΈ Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π·ΠΌΡΡΠ»Π΅Π½ΠΈΠΉ ΠΌΡ ΠΏΠΎΠ΄Π½ΡΠ»ΠΈΡΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ. ΠΠ°ΠΌ Π½Π΅Π·Π°ΡΠ΅ΠΌ Π±ΡΡΡΡΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΉΠ» Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠ½ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π±ΡΡΡΡΠΎ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΡΠ°ΠΉΠ»ΠΎΠ². Π’Π°ΠΊ Π±ΡΠ΄Π΅ΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ! ΠΡΠΎΡΡΠΎ Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠ² (ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ²) ΠΈ ΡΠΎΠ±Π΅ΡΠ΅ΠΌ Π²ΡΠ΄Π°Π²Π°Π΅ΠΌΡΡ ΠΈΠΌΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠ΅ Π½Π°Π΄ΠΎ OpenMP, Π½Π΅ Π½Π°Π΄ΠΎ Π΄ΡΠΌΠ°ΡΡ Π½Π°Π΄ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡΠΌΠΈ, Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΊΠ°ΡΡ ΡΠ·ΠΊΠΈΠ΅ ΠΌΠ΅ΡΡΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ.
ΠΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. Π’Π°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌ? ΠΠ΅Π·ΡΡΠ»ΠΎΠ²Π½ΠΎ. ΠΠ΅ Π±ΡΠ΄Ρ Π²ΡΠ°ΡΡ, ΡΡΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΠ»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΉΡΠΈ ΠΊ Π½Π΅ΠΌΡ. ΠΠΎ Π² Π΄ΡΡΠ³ΠΈΡ Π·Π°Π΄Π°ΡΠ°Ρ Π²ΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ. ΠΠ΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π»Π΅ΡΡΡΡ Π²ΡΠΈΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΠ°ΡΡΠΊΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅, ΠΈΡ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ, Π·Π°ΡΠ΅ΠΌ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Π² Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ Π·Π°Π±ΡΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° Π·Π°Π΄Π°ΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ. Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΈΠΏΠ° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΊΠ°ΠΊ ΡΠ°Π· ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΎΠΉ Π·Π°Π±ΡΠ²ΡΠΈΠ²ΠΎΡΡΠΈ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ. ΠΠΎ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΠΎΡΡΡ ΡΠ°ΡΡΠΎ Π½Π΅Π·Π°ΡΠ»ΡΠΆΠ΅Π½Π½ΠΎ Π·Π°Π±ΡΠ²Π°ΡΡ, ΡΠΎΡΡΠ΅Π΄ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΡ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ΅ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ.
Π― ΠΊΠ»ΠΎΠ½Ρ ΠΊ ΡΠΎΠΌΡ, ΡΡΠΎ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠΎΠΉΠΊΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ «ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΡΡΠΈ». Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΠΉ ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ, ΠΊΠ°ΠΊ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΡΠΎΡ ΠΆΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. Π Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ ΡΠ°ΠΊΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ Π±ΡΡΡ, Π½ΠΎ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ½ΠΎΡΡΠΈ. ΠΠ»Π°Π²Π½ΠΎΠ΅ Π½Π΅ Π·Π°Π±ΡΠ²Π°ΡΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ ΡΠ²Π΅ΡΡ Ρ.
Π£ΡΠΎΠΊ β107. Π Π΅ΠΊΡΡΡΠΈΡ ΠΈ Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
ΠΠ±Π½ΠΎΠ²Π». 28 ΠΠ²Π³ 2021 |
ΠΠ° ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΠΊΡΡΡΠΈΡ Π² ΡΠ·ΡΠΊΠ΅ C++ ΠΈ Π·Π°ΡΠ΅ΠΌ Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΈ ΡΠ°ΠΊΡΠΎΡΠΈΠ°Π» ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°.
Π Π΅ΠΊΡΡΡΠΈΡ
Π Π΅ΠΊΡΡΡΠΈΠ²Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ (ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Β«ΡΠ΅ΠΊΡΡΡΠΈΡΒ») Π² ΡΠ·ΡΠΊΠ΅ C++ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°ΠΌΠ° ΡΠ΅Π±Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
ΠΠ° ΡΡΠΎΠΊΠ΅ ΠΎ ΡΡΠ΅ΠΊΠ΅ ΠΈ ΠΊΡΡΠ΅ Π² Π‘++ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ½ΠΊΡΠΈΡ countOut() Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ (ΠΎΠ½Π° ΠΏΡΠΎΡΡΠΎ ΡΠ½ΠΎΠ²Π° Π²ΡΠ·ΡΠ²Π°Π΅Ρ countOut()), ΡΠΎ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π²ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ°! Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΏΠ°ΠΌΡΡΡ ΡΡΠ΅ΠΊΠ° Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ ΠΈ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°.
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π²ΡΡΠ΅, ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΎΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ : Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΡΡΠ½ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Β«Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΒ» (ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΡΡ ΠΏΠ°ΠΌΡΡΡ Π² ΡΡΠ΅ΠΊΠ΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ²).
Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ β ΡΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅, ΠΏΡΠΈ Π΅Π³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π²ΡΠ·ΠΎΠ² ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΌΠΎΠΉ ΡΠ΅Π±Ρ. Π ΡΡΠΎΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ if.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅, Π½ΠΎ ΡΠΆΠ΅ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ (ΠΈ Π΅ΡΠ΅ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΡΠ΅ΠΊΡΡΠ°):
ΠΠΎΠ³Π΄Π° ΠΌΡ Π·Π°ΠΏΡΡΡΠΈΠΌ ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΎ countOut() Π½Π°ΡΠ½Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ:
push 4
push 3
push 2
push 1
ΠΡΠ»ΠΈ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΠΎ ΡΠ²ΠΈΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
countOut(1)
countOut(2)
countOut(3)
countOut(4)
main()
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅:
push 4
push 3
push 2
push 1
pop 1
pop 2
pop 3
pop 4
Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ push Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠ±ΡΠ²Π°Π½ΠΈΡ, Π° pop β Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ Π²ΠΎΠ·ΡΠ°ΡΡΠ°Π½ΠΈΡ. ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ push Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π΄ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π° pop Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ (Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ) ΠΏΠΎΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ countOut() Π²ΡΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ ΠΈΠ· ΡΡΠ΅ΠΊΠ° (ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΡΠΎΠΌΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ Π±ΡΠ»ΠΈ Π²Π²Π΅Π΄Π΅Π½Ρ Π² ΡΡΠ΅ΠΊ).
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π²ΡΠ·ΠΎΠ²Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠΏ ΡΠ΅ΠΊΡΡΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½:
Π Π°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Π·Π³Π»ΡΠ΄Π° Π½Π° ΠΊΠΎΠ΄ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΈ Π»Π΅Π³ΠΊΠΎ. ΠΡΡΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Ρ value = 4 :
sumCount(4). 4 > 1, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ sumCount(3) + 4
sumCount(3). 3 > 1, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ sumCount(2) + 3
sumCount(2). 2 > 1, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ sumCount(1) + 2
sumCount(1). 1 = 1, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ 1. ΠΡΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠ΅ΠΊ Π²ΡΠ·ΠΎΠ²ΠΎΠ²:
sumCount(1) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 1
sumCount(2) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ sumCount(1) + 2, Ρ.Π΅. 1 + 2 = 3
sumCount(3) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ sumCount(2) + 3, Ρ.Π΅. 3 + 3 = 6
sumCount(4) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ sumCount(3) + 4, Ρ.Π΅. 6 + 4 = 10
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠΆΠ΅ Π»Π΅Π³ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠΈΡΠ»Π° ΠΌΠ΅ΠΆΠ΄Ρ 1 ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» caller. ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π²ΠΎΠ·Π»Π΅ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, Π΄Π°Π±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΆΠΈΠ·Π½Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π±Π΅, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ Π΄ΡΡΠ³ΠΈΠΌ Π»ΡΠ΄ΡΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΌΠΎΡΡΠ΅ΡΡ Π²Π°Ρ ΠΊΠΎΠ΄.
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ
Π§ΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ. ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π΄Π°ΠΆΠ΅ Π² ΠΏΡΠΈΡΠΎΠ΄Π΅: Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π΄Π΅ΡΠ΅Π²ΡΠ΅Π², ΡΠΏΠΈΡΠ°Π»Ρ ΡΠ°ΠΊΡΡΠ΅ΠΊ, ΠΏΠ»ΠΎΠ΄Ρ Π°Π½Π°Π½Π°ΡΠ°, ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡΠΈΠΉΡΡ ΠΏΠ°ΠΏΠΎΡΠΎΡΠ½ΠΈΠΊ ΠΈ Ρ.Π΄.
Π‘ΠΏΠΈΡΠ°Π»Ρ Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· ΡΠΈΡΠ΅Π» Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ β ΡΡΠΎ Π΄Π»ΠΈΠ½Π° Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
F(n) = 0, Π΅ΡΠ»ΠΈ n = 0
1, Π΅ΡΠ»ΠΈ n = 1
f(n-1) + f(n-2), Π΅ΡΠ»ΠΈ n > 1
Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ n-Π³ΠΎ ΡΠΈΡΠ»Π° Π€ΠΈΠ±ΠΎΠ½Π°ΡΡΠΈ: