C programma dabisko skaitļu summas atrašanai, izmantojot rekursiju

Šajā piemērā jūs iemācīsities atrast dabisko skaitļu summu, izmantojot rekursīvu funkciju.

Lai saprastu šo piemēru, jums vajadzētu būt zināšanām par šādām C programmēšanas tēmām:

  • C Lietotāja definētas funkcijas
  • C Rekursija

Pozitīvie skaitļi 1, 2, 3… ir pazīstami kā dabiskie skaitļi. Zemāk redzamā programma ņem no lietotāja pozitīvu veselu skaitli un aprēķina summu līdz dotajam skaitlim.

Apmeklējiet šo lapu, lai atrastu dabisko skaitļu summu, izmantojot cilpu.

Dabisko skaitļu summa, izmantojot rekursiju

#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; ) 

Rezultāts

Ievadiet pozitīvu veselu skaitli: 20 Sum = 210 

Pieņemsim, ka lietotājs ievadīja 20.

Sākotnēji addNumbers()tiek izsaukts no main()20 ar argumentu.

Rezultātam tiek pievienots skaitlis 20 addNumbers(19).

Nākamajā funkcijas izsaukumā no addNumbers()līdz addNumbers()tiek nodots 19, kas tiek pievienots rezultātam addNumbers(18). Šis process turpinās, līdz n ir vienāds ar 0.

Ja n ir vienāds ar 0, rekursīvs zvans nav. Tādējādi funkcijai tiek atgriezta veselu skaitļu summa main().

Interesanti raksti...