Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

5 способов вычислСния чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ: рСализация ΠΈ сравнСниС

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Π°ΠΌ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΆΠ΅ ΠΏΠΎΠ΄Π½Π°Π΄ΠΎΠ΅ΡΡ‚ΡŒ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΈΡ… вычислСния ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²Π΅Π·Π΄Π΅. Всё ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ эти числа ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ рСкурсии. А Π΅Ρ‰Ρ‘ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ динамичСского программирования. Но Π½Π°Π΄ΠΎ Π»ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈΡ… Ρ‚Π°ΠΊ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅? НС Π½Π°Π΄ΠΎ. Ни рСкурсия, Π½ΠΈ динамичСскоС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌΠΈ. И Π½Π΅ замкнутая Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой. БСйчас я расскаТу, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ. Но сначала пройдёмся ΠΏΠΎ всСм извСстным Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Код ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Python 3, хотя Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Ρ‚ΠΈ ΠΈ Π½Π° Python 2.

Для Π½Π°Ρ‡Π°Π»Π° – напомню ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅:

Замкнутая Ρ„ΠΎΡ€ΠΌΡƒΠ»Π°

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

РСшаСм ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

ΠžΡ‚ΠΊΡƒΠ΄Π° ΠΈ растёт Β«Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ сСчСниС» Ο•=(1+√5)/2. ΠŸΠΎΠ΄ΡΡ‚Π°Π²ΠΈΠ² исходныС значСния ΠΈ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π² Π΅Ρ‰Ρ‘ вычислСния, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Ρ‡Ρ‚ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для вычислСния 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, простой ΠΊΠΎΠ΄
ΠŸΠ»ΠΎΡ…ΠΎΠ΅:
Всё Π΅Ρ‰Ρ‘ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя выполнСния
Π—Π»ΠΎΠ΅:
Π”Π° особо Π½ΠΈΡ‡Π΅Π³ΠΎ.

ΠœΠ°Ρ‚Ρ€ΠΈΡ‡Π½Π°Ρ Π°Π»Π³Π΅Π±Ρ€Π°

И, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ освСщаСмоС, Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠ°ΠΊ врСмя, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π•Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ Π½Π° Π»ΡŽΠ±ΡƒΡŽ Π³ΠΎΠΌΠΎΠ³Π΅Π½Π½ΡƒΡŽ Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ИдСя Π² использовании ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. Достаточно просто Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

А ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ этого Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Π”Π²Π° значСния для x, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π½Π°ΠΌΠΈ Ρ€Π°Π½Π΅Π΅, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ΄Π½ΠΎ прСдставляло собою Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ сСчСниС, ΡΠ²Π»ΡΡŽΡ‚ΡΡ собствСнными значСниями ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½ΠΈΠΌ способом Π²Ρ‹Π²ΠΎΠ΄Π° Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ являСтся использованиС ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ уравнСния ΠΈ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹.

Π’Π°ΠΊ Ρ‡Π΅ΠΌ ΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Π° такая Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ°? Π’Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΌΠΎΠΆΠ½ΠΎ произвСсти Π·Π° логарифмичСскоС врСмя. Π­Ρ‚ΠΎ дСлаСтся Ρ‡Π΅Ρ€Π΅Π· возвСдСния Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚. Π‘ΡƒΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Π³Π΄Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ‡Ρ‘Ρ‚Π½Ρ‹Ρ… A, Π²Ρ‚ΠΎΡ€ΠΎΠ΅ для Π½Π΅Ρ‡Ρ‘Ρ‚Π½Ρ‹Ρ…. ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСмноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, ΠΈ всё Π³ΠΎΡ‚ΠΎΠ²ΠΎ. ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄. Π― ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π» Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ pow, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Ρ‘ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ смотритС Ρ‚ΡƒΡ‚.

Π₯ΠΎΡ€ΠΎΡˆΠ΅Π΅:
Ѐиксированный ΠΎΠ±ΡŠΡ‘ΠΌ памяти, логарифмичСскоС врСмя
ΠŸΠ»ΠΎΡ…ΠΎΠ΅:
Код послоТнСС
Π—Π»ΠΎΠ΅:
ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ, хотя ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΏΠ»ΠΎΡ…ΠΈ

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ быстродСйствия

Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ стоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ динамичСского программирования ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. Если ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ количСству Π·Π½Π°ΠΊΠΎΠ² Π² числС n, Ρ‚ΠΎ получится, Ρ‡Ρ‚ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ, Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с динамичСским ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ – ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ – вычислСниС fib(10 ** 6), числа, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ большС двухсот тысяч Π·Π½Π°ΠΊΠΎΠ².

n = 10 ** 6
ВычисляСм fib_matrix: Ρƒ fib(n) всСго 208988 Ρ†ΠΈΡ„Ρ€, расчёт занял 0.24993 сСкунд.
ВычисляСм fib_dynamic: Ρƒ fib(n) всСго 208988 Ρ†ΠΈΡ„Ρ€, расчёт занял 11.83377 сСкунд.

ВСорСтичСскиС замСчания

НС Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ касаясь ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠ΄Π°, Π΄Π°Π½Π½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ всё-Ρ‚Π°ΠΊΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ интСрСс. Рассмотрим ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π³Ρ€Π°Ρ„:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ количСство ΠΏΡƒΡ‚Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ n ΠΎΡ‚ A Π΄ΠΎ B. НапримСр, для n = 1 Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ, 1. Для n = 2 Ρƒ нас ΠΎΠΏΡΡ‚ΡŒ Π΅ΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΏΡƒΡ‚ΡŒ, 01. Для n = 3 Ρƒ нас Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΡƒΡ‚ΠΈ, 001 ΠΈ 101. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ просто ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ количСство ΠΏΡƒΡ‚Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ n ΠΎΡ‚ А Π΄ΠΎ Π’ Ρ€Π°Π²Π½ΠΎ Π² точности Fn. Записав ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ смСТности для Π³Ρ€Π°Ρ„Π°, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, которая Π±Ρ‹Π»Π° описана Π²Ρ‹ΡˆΠ΅. Π­Ρ‚ΠΎ извСстный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΈΠ· Ρ‚Π΅ΠΎΡ€ΠΈΠΈ Π³Ρ€Π°Ρ„ΠΎΠ², Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅ смСТности А, вхоТдСния Π² А n β€” это количСство ΠΏΡƒΡ‚Π΅ΠΉ Π΄Π»ΠΈΠ½Ρ‹ n Π² Π³Ρ€Π°Ρ„Π΅ (ΠΎΠ΄Π½Π° ΠΈΠ· Π·Π°Π΄Π°Ρ‡, ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π²ΡˆΠΈΡ…ΡΡ Π² Ρ„ΠΈΠ»ΡŒΠΌΠ΅ Β«Π£ΠΌΠ½ΠΈΡ†Π° Π£ΠΈΠ»Π» Π₯Π°Π½Ρ‚ΠΈΠ½Π³Β»).

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π° Ρ€Ρ‘Π±Ρ€Π°Ρ… стоят Ρ‚Π°ΠΊΠΈΠ΅ обозначСния? ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ рассмотрСнии бСсконСчной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ символов Π½Π° бСсконСчной Π² ΠΎΠ±Π΅ стороны ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡƒΡ‚Π΅ΠΉ Π½Π° Π³Ρ€Π°Ρ„Π΅, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π½Π΅Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ «ΠΏΠΎΠ΄ΡΠ΄Π²ΠΈΠ³ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°», ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π΅ собой Ρ‚ΠΈΠΏ систСмы символичСской Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ. ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ этот подсдвиг ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° извСстСн, ΠΊΠ°ΠΊ «сдвиг Π·ΠΎΠ»ΠΎΡ‚ΠΎΠ³ΠΎ сСчСния», ΠΈ задаётся Π½Π°Π±ΠΎΡ€ΠΎΠΌ Β«Π·Π°ΠΏΡ€Π΅Ρ‰Ρ‘Π½Π½Ρ‹Ρ… слов» <11>. Π˜Π½Ρ‹ΠΌΠΈ словами, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ бСсконСчныС Π² ΠΎΠ±Π΅ стороны Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Ρ‹ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ смСТными. ВопологичСская энтропия этой динамичСской систСмы Ρ€Π°Π²Π½Π° Π·ΠΎΠ»ΠΎΡ‚ΠΎΠΌΡƒ ΡΠ΅Ρ‡Π΅Π½ΠΈΡŽ Ο•. Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ это число пСриодичСски появляСтся Π² Ρ€Π°Π·Π½Ρ‹Ρ… областях ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π»ΠΈ сдСлал тСстовоС Π·Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° PHP (числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ)?

Π Π°Π±ΠΎΡ‚Π°Π» ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда Π½Π° сСбС, Π½Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° Π² тСстовых заданиях. Π’ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŒ скинул Ρ‚Ρ€ΠΈ задания, сдСлал ΠΎΠ΄Π½ΠΎ для интСрСса, ΠΏΠΎΠΏΠΈΠ½Π°ΠΉΡ‚Π΅.. ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‰Π΅ΠΌ с ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ/Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ, Π² Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠ»ΡŽΡ‡Π΅ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚?

Π‘ΠΊΠ°ΠΆΡƒ сразу, Π°Π»ΠΎΠ³ΠΎΡ€ΠΈΡ‚ΠΌ сам написал, Π΄Π° Π΅ΡΡ‚ΡŒ Π² сСти Ρ‚Ρ‹Ρ‰ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ, Π² Ρ‚ΠΎΠΌ числС Ρ‡Π΅Ρ€Π΅Π· Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ, Π½ΠΎ ΡƒΠΆ ΠΎΡ‡Π΅Π½ΡŒ Π½Π°Π²ΠΎΡ€ΠΎΡ‡Π΅Π½ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ.. Π΄Π° красиво, Π½ΠΎ Π½Π΅ совсСм понятно )

ΠšΠΎΡ€ΠΎΡ‡Π΅ Π²ΠΎΡ‚ Π·Π°Π΄Π°Π½ΠΈΠ΅ (я Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ):

Π”Π°Π½ массив [3279, 920, 4181, 8, 1, 4360, 407, 9950, 2098, 8579, 4914, 7204, 8875]. Π’ Π½Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ( 1, 1, 2, 3, 5, 8, 13, 21. ), Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сумму.

Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

А Ссли Π²ΠΎ входящих Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ число Π½Π° нСсколько тысяч Π·Π½Π°ΠΊΠΎΠ² Π΄Π»ΠΈΠ½Π½ΠΎΠΉ, Ρ‚ΠΎ ваш скрипт ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρƒ отвалится, ΠΏΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ памяти, ΠΈΠ»ΠΈ Π·Π° ΠΏΠ°Ρ€Ρƒ Π»Π΅Ρ‚ справится с Π·Π°Π΄Π°Ρ‡Π΅ΠΉ подсчСта всСх ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… чисСл?

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ ΠΈ ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ.

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Π― свои ΠΏΡΡ‚ΡŒ ΠΊΠΎΠΏΠ΅Π΅ΠΊ Π²ΡΡ‚Π°Π²Π»ΡŽ Π½Π΅ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, Π° с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния чистокододрочСра:

Π­Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π° Π΄ΠΈΡ‡ΡŒ? Π’Ρ‹ Π½Π° Π΄ΠΆΡƒΠ½ΠΈΠΎΡ€ битрикс Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π΅Ρ€Π° ΡƒΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ? Π’Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΏΡ€ΠΎ ООП ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ? Или Ρ‡Ρ‚ΠΎ, Ссли для тСстового, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈΡ‚ΡŒ? Π—Π°Ρ‡Π΅ΠΌ Ρ‚ΡƒΡ‚ Π²ΠΎΠΎΠ±Ρ‰Π΅ html? Π­Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°Π΄Π°Π½ΠΈΠ΅? Π’Π°Ρˆ ΠΊΠΎΠ΄ Π½Π°Ρ€ΡƒΡˆΠ°Π΅Ρ‚ всС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ соврСмСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π― Π±Ρ‹ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Ρƒ с Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π²ΠΎΠ½ΠΈΠ».
Π—Π°Ρ‡Π΅ΠΌ Ρ‚ΡƒΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ? Π’Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π²ΡŒΡŽΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠΉΠΌΠ΅Ρ‚ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚? Или Π²Ρ‹ обСзьянС этот ΠΊΠΎΠ΄ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ строку

И Π²Ρ‹ Ρ‡Ρ‚ΠΎ Π² Π½ΡƒΠ»Π΅Π²Ρ‹Ρ… ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ? ΠŸΠΎΡ‡Π΅ΠΌΡƒ массив создаСтся ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²Ρ‹ΠΌ array(), Π° Π½Π΅ []?

Ну ΠΈ Π΄Π°, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠ»ΠΎΡ…ΠΎΠΉ. МоТно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ симпатичнСС.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π½Π° собСсСдовании

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

1. Π‘Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅, ΠΈ люди ΠΊ Π²Π°ΠΌ потянутся.

Π‘Π°ΠΌΠΎΠ΅ простоС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” это Π±Π°Π½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ».

Π¨ΡƒΡ‚ΠΊΠ°. РазумССтся, Ρ‚Π°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ β€” Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π²Ρ‹ Π½Π΅ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π½Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎΡΡ‚ΡŒ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠ³ΠΎ обфускатора.

Π£ вас ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΈΡΡŒ Ρ‚Π°Π»ΠΎΠ½Ρ‡ΠΈΠΊΠΈ Π½Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅? cypok

Π›Π°Π΄Π½ΠΎ, Π»Π°Π΄Π½ΠΎ, для Π΅Ρ‰Ρ‘ большСй читаСмости напишСм Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ β€” Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ классичСский, простой ΠΈ элСгантный. Но, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ своё Π·Π½Π°Π½ΠΈΠ΅ Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΈΡ…-Ρ‚ΠΎ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ? НапримСр…

2. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ, Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ

НапримСр, Π΄Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠΌΠ΅Π΅Ρ‚Π΅ Π² Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ. НапримСр, Ρ‚Π°ΠΊ:

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π’Π°ΠΊ Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ стоит. НС слСдуСт. НСльзя. Никогда. Π­Ρ‚ΠΎ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΏΠΈΠ½Π°Ρ‚ΡŒ Ρ‰Π΅Π½ΠΎΡ‡ΠΊΠΎΠ², ΠΈ сравнимо с нСбольшим холокостом.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ спроситС, ΠΏΠΎΡ‡Π΅ΠΌΡƒ. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС просто запуститС этот ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, скаТСм, пятидСсятоС число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ. Полагаю, Π²Ρ‹ ΠΎΡ‰ΡƒΡ‚ΠΈΡ‚Π΅ Π½Π΅ΠΊΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ. Π¨ΡƒΡ‚ΠΊΠ°. Полагаю, Ссли Π²Ρ‹ запускаСтС этот ΠΊΠΎΠ΄ Π½Π΅ Π½Π° ΡΡƒΠΏΠ΅Ρ€ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎ попросту Π½Π΅ Π΄ΠΎΠΆΠ΄Ρ‘Ρ‚Π΅ΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ΠŸΡ€ΠΈ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ простой, Π½Π΅ рСкурсивный ΠΊΠΎΠ΄ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² посчитаСт пятидСсятый Ρ‡Π»Π΅Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ быстрСС, Ρ‡Π΅ΠΌ Π²Ρ‹ успССтС произнСсти слово Β«ΠΏΡΡ‚ΡŒΠ΄Π΅ΡΡΡ‚Β» ΠΈΠ»ΠΈ любой Π΅Π³ΠΎ слог.

Π’Ρ‹Ρ€Π°ΠΆΠ°ΡΡΡŒ Π³Ρ€ΡƒΠ±Ρ‹ΠΌ языком O-Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(e n ). Π’ΠΎ Π΅ΡΡ‚ΡŒ β€” врСмя выполнСния этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ растёт ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ n. Π’ΠΎ Π΅ΡΡ‚ΡŒ β€” ΠΊΠΎΠ³Π΄Π° n увСличиваСтся Π½Π°, врСмя выполнСния увСличиваСтся Π². Π“Ρ€ΡƒΠ±ΠΎ говоря, Ссли fib(45) Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΠΆΠ΄Π°Ρ‚ΡŒ час, Ρ‚ΠΎ fib(46) Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΆΠ΄Π°Ρ‚ΡŒ Π΄Π²Π° часа, fib(47) β€” 4 часа, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π― Ρ€Π°Π·ΠΆΡ‘Π²Ρ‹Π²Π°ΡŽ Ρ‚Π°ΠΊ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ, Π΄Π°ΠΆΠ΅ Π²Π΅Ρ€ΡΡ‚Π°Π»ΡŒΡ‰ΠΈΠΊ, Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π²ΡˆΠΈΠΉ свои силы Π² написании скриптов, ΠΌΠΎΠ³ ΠΎΡΠΎΠ·Π½Π°Ρ‚ΡŒ уТас ситуации.

Π­Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Π½ΠΎ слишком Π³Ρ€ΡƒΠ±ΠΎ. МоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΎΡ†Π΅Π½ΠΊΡƒ числа Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

(1+sqrt(5)) fib(n) ΠΈ красивоС Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ «Для вычислСния числа Π€ΠΈΠ±ΠΎΠ½Π½Π°Ρ‡ΠΈ Π½Π°ΠΈΠ²Π½Ρ‹ΠΌ Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ понадобится Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² 3.2 Ρ€Π°Π·Π° большС Ρ‡Π΅ΠΌ само число Π€ΠΈΠ±ΠΎΠ½Π½Π°Ρ‡ΠΈΒ». Taus

И ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅Π³ΠΎ вычислСния. Надо просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π°ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° 3.2! Cerberuser

Если ΠΎΡ‚ вас Π½Π° собСсСдовании ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ рСкурсивного Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ, скорСС всСго, это Π»ΠΎΠ²ΡƒΡˆΠΊΠ°. Β«ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°ΡΒ» рСкурсия, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π·Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ врСмя, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊ:

Подводя ΠΈΡ‚ΠΎΠ³: нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ классичСским, хрСстоматийным ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ рСкурсии, Π² Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ это Π½Π΅ самый ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ случай для примСнСния рСкурсии. Но ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»Π΅ΡΠ½ΡƒΡ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ знаниями.

3. МСмная функция

БущСствуСт Π²ΠΎΠ»ΡˆΠ΅Π±Π½Ρ‹ΠΉ способ, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Ρ‡ΡƒΠ΄ΠΎΠ²ΠΈΡ‰Π½ΠΎ нСэффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„Π° Π² ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстроС (хотя ΠΈ Π½Π΅ Π»ΠΈΡˆΡ‘Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ). Имя Π΅ΠΌΡƒ β€” мСмоизация. А Ссли Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎ-русски β€” ΠΌΡ‹ просто Π·Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈΡ… Π·Π°Π½ΠΎΠ²ΠΎ.

Π’Π°ΠΊ Π²ΠΎΡ‚, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ значСния Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Ρ€Π°Π·Ρƒ, Π° ΠΏΡ€ΠΈ ΠΈΡ… ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ запросС β€” просто Π±Ρ€Π°Ρ‚ΡŒΡΡ ΠΈΠ· кэша. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚Π΅, Π²ΠΎ сколько Ρ€Π°Π· быстрСС ΠΌΡ‹ смоТСм Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ сорок пятоС число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ? Π‘Π΅Ρ€ΡŒΡ‘Π·Π½ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Π²ΠΎ сколько?

Π—Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ! Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² fib(45) ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ, сравнимой с вСрсиСй с Ρ†ΠΈΠΊΠ»ΠΎΠΌ. А дальнСйшиС Π²Ρ‹Π·ΠΎΠ²Ρ‹ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΡΡ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π·Π° константноС врСмя… Оп! ΠžΠΏΡΡ‚ΡŒ ΠΎΠ±ΠΌΠ°Π½ΡƒΠ». ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ β€” это опСрация быстрая, Π½ΠΎ всё-Ρ‚Π°ΠΊΠΈ O(1) Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² срСднСм, Π² Ρ…ΡƒΠ΄ΡˆΠ΅ΠΌ случаС ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π΅Π³Ρ€Π°Π΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ O(n). Π§Ρ‚ΠΎΠ±Ρ‹ стало совсСм Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π² нашСм случаС ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ cache с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° массив.

РазумССтся, Π½Π΅ стоит Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ мСмоизация Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ памяти. И ΠΏΠΎΠΊΠ° ΠΌΡ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎ памяти растёт с O(1) Π΄ΠΎ O(n).

Как Π΅Ρ‰Ρ‘ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠ΅Π½Π΄Ρ€ΠΈΡ‚ΡŒΡΡ? НапримСр, продСмонстрировав своё Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ Π·Π½Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ

4. ΠœΠΈΡΡ‚Π΅Ρ€ Π‘ΠΈΠ½Π΅

БущСствуСт особая прСкрасная Π½Π°ΡƒΠΊΠ° ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹Π΅ ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π² явныС Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹. Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² Π΅Ρ‘ Π΄Π΅Ρ‚Π°Π»ΠΈ. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ лишь, Ρ‡Ρ‚ΠΎ для чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ достаточно нСслоТных рассуТдСний ΠΌΠΎΠΆΠ½ΠΎ вывСсти ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ, ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Π‘ΠΈΠ½Π΅:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Однако довольно языка ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, запишСм это Π½Π° языкС JavaScript:

ΠŸΡ€ΠΎΠ³ΠΎΠ½ΠΈΠΌ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… числах. Π—Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, каТСтся, всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π’ΠΎΡ‚ 13, Π²ΠΎΡ‚ 21, Π²ΠΎΡ‚ 34, вот… 54.99999999999999?

Π”Π°, разумССтся, Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°ΠΊΠΎΠ½ΠΎΠΌΠ΅Ρ€Π΅Π½. Π€ΠΎΡ€ΠΌΡƒΠ»Π° Π‘ΠΈΠ½Π΅ Ρ‚ΠΎΡ‡Π½Π° матСматичСски, Π½ΠΎ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ дробями ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ точности, ΠΈ ΠΏΡ€ΠΈ дСйствиях Π½Π°Π΄ Π½ΠΈΠΌΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΊΠΎΠΏΠΈΡ‚ΡŒΡΡ ошибка, Ρ‡Ρ‚ΠΎ ΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС. Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ всё ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ. Зная, Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ΅ Π² числитСлС всСгда Π±ΡƒΠ΄Π΅Ρ‚ малСньким ΠΏΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΡŽ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ состояния:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Π—Π΄Π΅ΡΡŒ странныС Π½Π΅Π΄ΠΎΠ΄Π΅Π»Π°Π½Π½Ρ‹Π΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Π΅ скобки ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ блиТайшСС Ρ†Π΅Π»ΠΎΠ΅ число, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ β€” ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅. ΠŸΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ наш ΠΊΠΎΠ΄:

Π”Π°, Ρ‚Π°ΠΊ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π»ΡƒΡ‡ΡˆΠ΅. ΠœΡ‹ смоТСм ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈ 55, ΠΈ 89, ΠΈ Π΄Π°ΠΆΠ΅ ΠΌΠΎΡ‘ любимоС число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ β€” 144 (ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ я люблю Π·Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ равняСтся Π΄Π²Π΅Π½Π°Π΄Ρ†Π°Ρ‚ΠΈ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π΅). Всё Π±ΡƒΠ΄Π΅Ρ‚ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π΄ΠΎ числа Π·Π° Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 76. ΠšΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ 3416454622906707, Π° наша функция вычислит 3416454622906706. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ точности Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ дСлась, ΠΌΡ‹ просто Π·Π°Ρ‚ΠΎΠ»ΠΊΠ°Π»ΠΈ Π΅Ρ‘ ΠΏΠΎΠ³Π»ΡƒΠ±ΠΆΠ΅ ΠΈ надСялись, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ всплывёт. Как ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” надСялись напрасно.

На самом Π΄Π΅Π»Π΅ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ спасти этот ΠΌΠ΅Ρ‚ΠΎΠ΄. Но ΠΎΠ± этом Π½ΠΈΠΆΠ΅. А ΠΏΠΎΠΊΠ° β€” ΡˆΡƒΡ‚ΠΊΠΈ Π² сторону. ΠŸΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ суровом, Ρ…Π°Ρ€Π΄ΠΊΠΎΡ€Π½ΠΎΠΌ ΠΈ Π±Ρ€ΡƒΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ.

5. Π‘Π»Π΅Π΄ΡƒΠΉ Π·Π° Π±Π΅Π»Ρ‹ΠΌ ΠΊΡ€ΠΎΠ»ΠΈΠΊΠΎΠΌ.

Говорят, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈ Π²Π°ΠΌ ΠΏΡ€ΠΈΡˆΠ»Π° Π² Π³ΠΎΠ»ΠΎΠ²Ρƒ идСя, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΅Ρ‘ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΄Π²Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ β€” это рСгулярныС выраТСния Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚. МногиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Ссли ΠΈΡ… ΠΏΠ΅Ρ€Π΅Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° языкС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†, Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ просто сами собой.

Π§Ρ‚ΠΎ касаСтся чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ, для Π½ΠΈΡ… Π½Π° ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠΌ языкС ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅ тоТдСство:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Π’ΠΎ Π΅ΡΡ‚ΡŒ Ссли Π²Π·ΡΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ подряд ΠΈΠ΄ΡƒΡ‰ΠΈΡ… чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΡ‚ Π½Π΅Π·Π°ΠΌΡ‹ΡΠ»ΠΎΠ²Π°Ρ‚ΡƒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ. А ΠΎΡ‚ΡΡŽΠ΄Π° Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ слСдуСт Π²Ρ‹Π²ΠΎΠ΄: Ссли ΠΌΡ‹ Π²ΠΎΠ·ΡŒΠΌΡ‘ΠΌ ΠΏΠ°Ρ€Ρƒ ΠΈΠ· Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нуля ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹, ΠΈ ΡƒΠΌΠ½ΠΎΠΆΠΈΠΌ ΠΈΡ… Π½Π° эту ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ Π² энной стСпСни, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΏΠ°Ρ€Ρƒ ΠΈΠ· энного ΠΈ эн плюс ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ. Π’ΠΎ Π΅ΡΡ‚ΡŒ, говоря ΠΏΠΎ-чСловСчСски:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

МоТно это Π΅Ρ‰Ρ‘ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ, ΠΎΡ‚ΠΊΠ°Π·Π°Π²ΡˆΠΈΡΡŒ ΠΎΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ². На самом Π΄Π΅Π»Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ значСния содСрТатся Π² самой ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π΅:

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

Π—Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ? ΠžΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Π½Π°Ρ„ΠΈΠ³Π° ΠΏΠΎΠΏΡƒ Π³Π°Ρ€ΠΌΠΎΠ½ΡŒ, Ссли ΠΎΠ½ Π½Π΅ Ρ„ΠΈΠ»Π°Ρ€ΠΌΠΎΠ½ΡŒ. Π’ смыслС β€” Π·Π°Ρ‡Π΅ΠΌ Ρ‚Π°ΠΊΠΈΠ΅ слоТности Π½Π° Ρ€ΠΎΠ²Π½ΠΎΠΌ мСстС. А ΠΎΡ‚Π²Π΅Ρ‚ прост β€” быстроС Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php. Π€ΠΎΡ‚ΠΎ Найти сумму чисСл Ρ„ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС php

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ скаТСт. Ρ‡Ρ‚ΠΎ ΠΎΠ½ это число ΠΏΠΎΠΌΠ½ΠΈΡ‚ Π½Π°ΠΈΠ·ΡƒΡΡ‚ΡŒ, ΠΈ Π½ΠΈΡ‡Π΅Π³ΠΎ ΡƒΠΌΠ½ΠΎΠΆΠ°Ρ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. Однако вопросы ΠΌΠ΅ΠΌΠΎΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΡ‹ рассмотрСли Π²Ρ‹ΡˆΠ΅.

Π’Π°ΠΊ Π²ΠΎΡ‚, быстроС Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΈ ΠΊ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌ, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ позволяСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π°ΡΠΈΠΌΠΏΡ‚ΠΎΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ нашСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с O(n) Π΄ΠΎ O(log n). И это ΠΎΡ‡Π΅Π½ΡŒ ΠΊΡ€ΡƒΡ‚ΠΎ β€” Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π½Π°ΠΌ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π°ΠΊ Π²Π°ΠΆΠ½Π° эта ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ. Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΊΠΎΠ΄:

Π’ΠΎΡ‚ ΠΌΡ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ самый быстрый Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° Π”ΠΈΠΊΠΎΠΌ Π—Π°ΠΏΠ°Π΄Π΅. И Π΅Π³ΠΎ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ΠΈΡ€ΠΎΠ½ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° собСсСдовании. А Π² ΠΊΠ°ΠΊΠΈΡ…-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΎ-Ρ‘ΠΌΠΊΠΈΡ… мСстах ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ ΠΎΡ‚ вас ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΆΠ΄Π°Ρ‚ΡŒ.

Π― ΠΎΠ±Π΅Ρ‰Π°Π» Ρ€Π΅ΠΌΠ°Ρ€ΠΊΡƒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΆΠ΅ Π½Π°ΠΌ спасти ΠΌΠ΅Ρ‚ΠΎΠ΄, основанный Π½Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Π‘ΠΈΠ½Π΅. ΠžΡ‚Π²Π΅Ρ‚ кроСтся Π²ΠΎΡ‚ Π² этой ΠΌΠΎΠ΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅. Π’Π°ΠΌ я для Π½ΡƒΠΆΠ΄ Π½Π°Ρ€ΠΎΠ΄Π½ΠΎΠ³ΠΎ хозяйства написал ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс ΠΊΠΎΡ€Π΅Π½ΡŒ-ΠΈΠ·-пяти-Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… чисСл, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Π΅Π· ΠΏΠΎΡ‚Π΅Ρ€ΠΈ точности Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ арифмСтичСских дСйствий Π½Π°Π΄ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ ΠΊΠΎΡ€Π½Π΅ΠΌ ΠΈΠ· пяти. МоТно Π²Π·ΡΡ‚ΡŒ этот класс, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ округлСния ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для поиска чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ Π‘ΠΈΠ½Π΅. А Π·Π°Ρ‚Π΅ΠΌ Π²ΠΏΡ€Ρ‹ΡΠ½ΡƒΡ‚ΡŒ закись Π°Π·ΠΎΡ‚Π°, ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ² быстроС Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ.

И Ρ‡Ρ‚ΠΎ самоС интСрСсноС: Ссли Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ числа Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒΡΡ Π² процСссС, ΠΊΠ°ΠΊΠΈΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚ΠΎ станСт понятно, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” это Ρ‚ΠΎ ΠΆΠ΅ самоС ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ фасадом. Π Π°Π·Π½ΠΈΡ†Π° лишь Π² Ρ‚ΠΎΠΌ, Ρ…Ρ€Π°Π½ΠΈΠΌ ΠΌΡ‹ числа Π² Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивах ΠΈΠ»ΠΈ Π² полях ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ класса.

На этом всё. Если Π²Ρ‹ считаСтС, Ρ‡Ρ‚ΠΎ я упустил Π΅Ρ‰Ρ‘ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ интСрСсныС способы Π½Π°ΠΉΡ‚ΠΈ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹Π΅ числа, ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ± этом Π² коммСнтариях.

Π•ΡΡ‚ΡŒ Π΅Ρ‰Ρ‘ Ρ‚Π°ΠΊΠΎΠΉ способ ΠΊΠ°ΠΊ fast doubling. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΠΎΠ΅ ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° O(log), Π½ΠΎ с мСньшСй константой Π² асимптотикС (ΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅). Если ΠΊΡ€Π°Ρ‚ΠΊΠΎ, Ρ‚ΠΎ Ρ‚Π°ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹, ΠΎΠΏΠΈΡ€Π°ΡΡΡŒ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ быстро рСкурсивно ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ Π²Π΄Π²ΠΎΠ΅ мСньшим индСксам:

РСализация, кстати, получаСтся довольно компактная.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘ΡƒΠΌΠΌΠ° чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

Учитывая число ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ число n, Π½Π°ΠΉΡ‚ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ f 0 + f 1 + f 2 +…. + f n, Π³Π΄Π΅ f i ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ i- Π΅ число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ f 0 = 0, f 1 = 1, f 2 = 1, f 3 = 2, f 4 = 3, f 5 = 5,…
ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ :

ΠœΠ΅Ρ‚ΠΎΠ΄ 1 (O (n))
ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ Π³Ρ€ΡƒΠ±ΠΎΠΉ силы довольно прост, Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ всС числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π΄ΠΎ f (n) ΠΈ Π·Π°Ρ‚Π΅ΠΌ слоТитС ΠΈΡ….

// C ++ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска суммы чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ
#include

using namespace std;

// ВычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

int calculateSum( int n)

int sum = fibo[0] + fibo[1];

// Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ условия

// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

cout «Sum of Fibonacci numbers is : «

// Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска
// сумма чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

// вычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ

static int calculateSum( int n)

int fibo[]= new int [n+ 1 ];

fibo[ 0 ] = 0 ; fibo[ 1 ] = 1 ;

int sum = fibo[ 0 ] + fibo[ 1 ];

// Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ условия

fibo[i] = fibo[i- 1 ]+fibo[i- 2 ];

// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

public static void main(String args[])

System.out.println( «Sum of Fibonacci» +

» numbers is : » + calculateSum(n));

// Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн Никитой Π’ΠΈΠ²Π°Ρ€ΠΈ.

# Python 3 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска
# сумма чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

# ВычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ
# числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

sm = fibo[ 0 ] + fibo[ 1 ]

# Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ условия

# Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для тСстирования
# Π²Ρ‹ΡˆΠ΅ функция

# Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½
# Никита Π’ΠΈΠ²Π°Ρ€ΠΈ.

// C # ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска
// сумма чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

// вычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ

static int calculateSum( int n)

int []fibo = new int [n + 1];

int sum = fibo[0] + fibo[1];

// Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ условия

Console.WriteLine( «Sum of Fibonacci» +

// Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн Anuj_67

// PHP ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска суммы
// чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

// вычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ
// числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

// Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ условия

// Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн aj_36
?>

Π’Ρ‹Ρ…ΠΎΠ΄ :

ΠœΠ΅Ρ‚ΠΎΠ΄ 2 (O (Log n))
ИдСя состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ взаимосвязь ΠΌΠ΅ΠΆΠ΄Ρƒ суммой чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈ n-ΠΌ числом Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ.

Π‘Π»ΠΎΠΆΠΈΠ² всС уравнСния, с Π»Π΅Π²ΠΎΠΉ стороны ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ
F (0) + F (1) +… F (n-1), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ S (n-1).

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ,
S (n-1) = F (n + 1) β€” F (1)
S (n-1) = F (n + 1) β€” 1
S (n) = F (n + 2) β€” 1 β€” (1)

F (n) ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π·Π° O (log n), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ 5 ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ 6 ΠΈΠ· этой ΡΡ‚Π°Ρ‚ΡŒΠΈ (см. ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ 5 ΠΈ 6).

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π° рСализация, основанная Π½Π° способС 6 этого

// C ++ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска суммы чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π²
// O (Log n) врСмя.
#include

using namespace std;

const int MAX = 1000;

// Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ массив для запоминания

// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ n-Π΅ число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ f []

// Если fib (n) ΡƒΠΆΠ΅ вычислСн

// ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ [ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n & 1 Ρ€Π°Π²Π½ΠΎ 1

// Ссли n Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ 0].

f[n] = (n & 1)? (fib(k)*fib(k) + fib(k-1)*fib(k-1))

// ВычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

int calculateSum( int n)

// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

cout «Sum of Fibonacci numbers is : «

// Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска суммы
// чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π²
// O (Log n) врСмя.

static int MAX = 1000 ;

// Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ массив для запоминания

static int f[] = new int [MAX];

// Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ n-ΠΉ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

// Π½ΠΎΠΌΠ΅Ρ€ с использованиСм Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ f []

static int fib( int n)

// Если fib (n) ΡƒΠΆΠ΅ вычислСн

// ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π²Ρ‹ΡˆΠ΅ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ

// [ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n & 1 Ρ€Π°Π²Π½ΠΎ 1

// Ссли n Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ 0].

// вычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ

static int calculateSum( int n)

public static void main(String args[])

System.out.println( «Sum of Fibonacci numbers is : «

/ * Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн Никитой Π’ΠΈΠ²Π°Ρ€ΠΈ. * /

# Python 3 ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска суммы
Число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² O (Log n) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

# Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ массив для запоминания

# Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ n-Π΅ число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ
# ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ f []

# Если fib (n) ΡƒΠΆΠ΅ вычислСн

k = (n + 1 ) / 2 if (n & 1 ) else n / 2

# ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ [ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ n & 1

# Ρ€Π°Π²Π½ΠΎ 1, Ссли n Π½Π΅Ρ‡Π΅Ρ‚Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ 0].

# ВычисляСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

# ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

# Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн
# Π‘ΠΌΠΈΡ‚Π° Π”ΠΈΠ½Π΅Ρˆ Π‘Π΅ΠΌΠ²Π°Π»

// C # ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска суммы
// чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π²
// O (Log n) врСмя.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Число Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π² массивС

Нам Π΄Π°Π½ массив, ΠΈ наша Π·Π°Π΄Π°Ρ‡Π° β€” ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, присутствуСт Π»ΠΈ элСмСнт массива Π² ряду Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚. Если Π΄Π°, Ρ‚ΠΎ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°ΠΉΡ‚Π΅ этот элСмСнт.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

// ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° CPP для поиска Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² сСрий Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ
// в данном массивС.
#include

using namespace std;

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°
// ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

bool isPerfectSquare( int num)

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ссли число
// Π² Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

void checkFib( int array[], int n)

int n = sizeof (array) / sizeof (array[0]);

// Java-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² рядов Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ
// в данном массивС

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°

// ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

static boolean isPerfectSquare( int num)

int n = ( int )(Math.sqrt(num));

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ссли число

// Π² Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

static void checkFib( int array[], int n)

System.out.println( «None Present» );

public static void main(String[] args)

int n = array.length;

// ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΎ ΠŸΡ€Π°ΠΌΠΎΠ΄ ΠšΡƒΠΌΠ°Ρ€

# Python ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска
# НомСра сСрий Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ
# в данном массивС.

n = int (math.sqrt(num))

# Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ссли Π½ΠΎΠΌΠ΅Ρ€
# Π² Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

def checkFib(array, n):

if (isPerfectSquare( 5 * array[i] * array[i] + 4 ) or

print ( «None present» );

# Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½
# Анант Агарвал.

// C # ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска ряда Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ
// числа Π² Π΄Π°Π½Π½ΠΎΠΌ массивС

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°

// ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

static bool isPerfectSquare( int num)

int n = ( int )(Math.Sqrt(num));

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, Ссли число

// Π² Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

static void checkFib( int [] array, int n)

if (isPerfectSquare(5 * array[i] * array[i] + 4) ||

Console.WriteLine( «None Present» );

public static void Main()

int n = array.Length;

// Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн Sam007

// PHP ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° для поиска
// Π‘Π΅Ρ€ΠΈΠΉΠ½Ρ‹Π΅ числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ
// в данном массивС.

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ
// число идСальноС
// ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

// Ѐункция для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ
// Ссли число
// Π² Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΈΠ»ΠΈ Π½Π΅Ρ‚

echo «None present\n» ;

$array = array (4, 2, 8, 5, 20,

// Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ прСдоставлСн mits.

Π’Ρ‹Ρ…ΠΎΠ΄:

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ссли Π²Ρ‹ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅, ΠΈΠ»ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ обсуТдаСмой Π²Ρ‹ΡˆΠ΅ Ρ‚Π΅ΠΌΠ΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *