Rekurencja w C++. Prosty przykład funkcji matematycznej f(n)

Rekurencja w C++. Prosty przykład funkcji matematycznej.

Problem:

Mamy funkcję określoną wzorem:
rekurencja f(n) Dla podanego n, oblicz f(n). W programie użyj REKURENCJI i ITERACJI.

Koduj sam, ale film może Ci pomóc zrozumieć ....

W poniższym filmie:

  • określenie rekurencji,
  • układanie oczekiwanych wartości na wieży (stosie),
  • odczytanie znanego rozwiązania,
  • zdejmowanie wartości ze stosu,
  • LIFO,
  • kodowanie wersji rekurencyjnej,
  • kodowanie wersji iteracyjnej,
  • co, jeśli przekraczamy zakres int?

Do obejrzenia i przećwiczenia:

Kod, który powstał w filmie:

#include <iostream>
#include <iomanip>
using namespace std;

//rekurencyjnie
long double fRek(int n){
	if(n==0) return 1;
	else return 2*fRek(n-1)+3;
}

//iteracyjne
long double fIter(int n){
	long double wynik=1, i;
	for(i=1; i<=n; i++) wynik=2*wynik+3;
	return wynik;
}

int main() {
	int n, i;
	cout << "podaj n: "; cin >>n;
	
	cout << "REKURENCYJNIE:\n";
	for(i=0; i<=n; i++)	cout << "f(" << i << ") = " << setprecision(1000) << fRek(i) << endl;
	
	cout << "ITERACYJNIE:\n";
	for(i=0; i<=n; i++)	cout << "f(" << i << ") = " << setprecision(1000) << fIter(i) << endl;
	
	//cout << setprecision(20000) << fRek(20000) << endl;
	return 0;
}

Użycie kodu:

  • Powyższy kod można wykorzystać w środowisku Dev C++ lub innym. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
  • Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh