Rekurencja w C++. Sumowanie liczb 1+2+...+n dla podanego n.
Problem:
Mamy funkcję określoną wzorem: S(n)=1+2+...+n. Dla podanego n, oblicz S(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,
- określenie iteracji,
- kodowanie wersji rekurencyjnej,
- kodowanie wersji iteracyjnej,
- przykłady uruchomienia.
Do obejrzenia i przećwiczenia:
Kod, który powstał w filmie:
#include <iostream> using namespace std; int sumaRek(int n){ if(n==1) return 1; else return sumaRek(n-1)+n; } int sumaIt(int n){ int wynik=0, i; for(i=1; i<=n; i++) wynik=wynik+i; return wynik; } int main() { int i, m; cout << "podaj do jakiej liczby sumujesz: "; cin >> m; for(i=1; i<=m; i++) { if(i<m) cout << i << "+"; else cout << i << "="; } cout << sumaRek(m); //cout << sumaRek(100) << endl; //cout << sumaIt(100) << 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