Rekurencja w C++. Sumowanie liczb 1+2+...+n.

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