Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‡, Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ рСкурсии ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля Π½Π° языкС C++

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

На Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, достаточно просто ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚ рСсурсов Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Если Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ машинС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ для чисСл Π΄ΠΎ 30-Π³ΠΎ числа Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ практичСски ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Π° Π΄Π»Ρ 35-Π³ΠΎ числа Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° составляСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС ΠΎΠ΄Π½ΠΎΠΉ сСкунды, Ρ‚ΠΎ Π΄Π»Ρ 40-Π³ΠΎ числа ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, лишь спустя Π΄Π²Π΅ сСкунды, Π° Π΄Π»Ρ 41-Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· 6 сСкунд. Числа ряда Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‡, Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ рСкурсии ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля Π½Π° языкС C++ (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ рСкурсии

Π—Π°Π΄Π°Ρ‡Π° 1. Числа Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ

РСкурсия ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΉ сути схоТа с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ матСматичСской ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π±Π°Π·Π° ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ соотвСтствуСт Π±Π°Π·Π΅ рСкурсии. А Π² ΠΎΡΠ½ΠΎΠ²Π΅ прСдполоТСния ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ Π»Π΅ΠΆΠΈΡ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ нСобходимая ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° Π·Π°Ρ€Π°Π½Π΅Π΅. Π¨Π°Π³Ρƒ ΠΈΠ½Π΄ΡƒΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ рСкурсивной ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. И, разумССтся, сущСствуСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ хотя Π±Ρ‹ ΠΎΠ΄Π½ΠΎ условиС прСрывания процСсса.

Π”Π°Π»Π΅Π΅ слСдуСт Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ практичСских Π·Π°Π΄Π°Ρ‡.

Числа ряда Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт Ρ€Π°Π²Π΅Π½ суммС Π΄Π²ΡƒΡ… ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… элСмСнтов. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, зная Π΄Π²Π° ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… элСмСнта, искомый элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ (1):

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‡, Ρ€Π΅ΡˆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ рСкурсии ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ модуля Π½Π° языкС C++.

(1),.

Π“Π΄Π΅ Fn — искомый элСмСнт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ нахоТдСния N-Π³ΠΎ числа ряда Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

#include «stdafx.h» .

#include.

using namespace std;

int Fn (int n).

{.

if (n < 3).

return 1;

return Fn (n — 2) + Fn (n — 1);

}.

int main ().

{.

setlocale (LC_ALL, «Russian»);

int n = 0;

cout << «Π’Π²Π΅Π΄ΠΈΡ‚Π΅ порядковый Π½ΠΎΠΌΠ΅Ρ€ числа: «;

cin >> n;

cout << n <<" -ΠΌ числом Π² Ρ€ΡΠ΄Π΅ Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ являСтся число «<< Fn (n) << endl;

system («pause»);

return 0;

}.

Π‘ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прСдставлСнного ΠΊΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 3.

На Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, достаточно просто ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‚ рСсурсов Π½Π° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Если Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ машинС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ для чисСл Π΄ΠΎ 30-Π³ΠΎ числа Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π΄Π°ΡŽΡ‚ΡΡ практичСски ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Π° Π΄Π»Ρ 35-Π³ΠΎ числа Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° составляСт Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ мСньшС ΠΎΠ΄Π½ΠΎΠΉ сСкунды, Ρ‚ΠΎ Π΄Π»Ρ 40-Π³ΠΎ числа ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π΄Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, лишь спустя Π΄Π²Π΅ сСкунды, Π° Π΄Π»Ρ 41-Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· 6 сСкунд.

Π—Π°Π΄Π°Ρ‡Π° 2. НахоТдСниС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π°

#include «stdafx.h» .

#include.

using namespace std;

int fact (int n).

{.

if (n==1 || n==0) return 1;

return n* fact (n — 1);

}.

int main ().

{.

setlocale (LC_ALL, «Russian»);

int n = 0;

cout << «Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число «;

cin >> n;

cout << «Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π» числа «<< n << «Ρ€Π°Π²Π΅Π½ «<< fact (n) << ««;

system («pause»);

return 0;

}.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ΄Π° прСдставлСн Π½Π° Ρ€ΠΈΡΡƒΠ½ΠΊΠ΅ 4.

Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π».

Рисунок 4 — Π€Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π».

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ