V tomto príklade sa naučíte nájsť GCD (Greatest Common Divisor) dvoch kladných celých čísel zadaných používateľom pomocou rekurzie.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku C:
- C Funkcie
- C Užívateľom definované funkcie
- C Rekurzia
Tento program berie ako vstup od používateľa dve kladné celé čísla a pomocou rekurzie počíta GCD.
Na tejto stránke nájdete informácie o tom, ako vypočítať GCD pomocou slučiek.
GCD dvoch čísel pomocou rekurzie
#include int hcf(int n1, int n2); int main() ( int n1, n2; printf("Enter two positive integers: "); scanf("%d %d", &n1, &n2); printf("G.C.D of %d and %d is %d.", n1, n2, hcf(n1, n2)); return 0; ) int hcf(int n1, int n2) ( if (n2 != 0) return hcf(n2, n1 % n2); else return n1; )
Výkon
Zadajte dve kladné celé čísla: 366 60 GCD s hodnotou 366 a 60 je 6.
V tomto programe sa uskutočňujú rekurzívne volania, kým sa hodnota n2 nebude rovnať 0.