U ovom ćete primjeru naučiti pronaći zbroj prirodnih brojeva pomoću rekurzivne funkcije.
Da biste razumjeli ovaj primjer, trebali biste imati znanje sljedećih C programskih tema:
- C Korisnički definirane funkcije
- C Rekurzija
Pozitivni brojevi 1, 2, 3 … poznati su kao prirodni brojevi. Program u nastavku uzima pozitivan cijeli broj od korisnika i izračunava zbroj do zadanog broja.
Posjetite ovu stranicu da biste pronašli zbroj prirodnih brojeva pomoću petlje.
Zbroj prirodnih brojeva pomoću rekurzije
#include int addNumbers(int n); int main() ( int num; printf("Enter a positive integer: "); scanf("%d", &num); printf("Sum = %d", addNumbers(num)); return 0; ) int addNumbers(int n) ( if (n != 0) return n + addNumbers(n - 1); else return n; )
Izlaz
Unesite pozitivan cijeli broj: 20 Zbroj = 210
Pretpostavimo da je korisnik upisao 20.
U početku addNumbers()
se poziva sa main()
s 20 koji se prosljeđuje kao argument.
Broj 20 dodaje se rezultatu addNumbers(19)
.
U sljedećem pozivu funkcije od addNumbers()
do addNumbers()
, prosljeđuje se 19 što se dodaje rezultatu addNumbers(18)
. Taj se postupak nastavlja sve dok n nije jednako 0.
Kad je n jednako 0, nema rekurzivnog poziva. To vraća zbroj cijelih brojeva u konačnici main()
funkciji.