V tomto příkladu se naučíte najít GCD (Greatest Common Divisor) dvou kladných celých čísel zadaných uživatelem pomocí rekurze.
Abychom pochopili tento příklad, měli byste mít znalosti o následujících programovacích tématech jazyka C:
- Funkce C.
- C Uživatelem definované funkce
- C Rekurze
Tento program vezme dvě kladná celá čísla jako vstup od uživatele a vypočítá GCD pomocí rekurze.
Na této stránce se dozvíte, jak lze vypočítat GCD pomocí smyček.
GCD dvou čísel pomocí rekurze
#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ýstup
Zadejte dvě kladná celá čísla: 366 60 GCD 366 a 60 je 6.
V tomto programu probíhá rekurzivní volání, dokud se hodnota n2 nebude rovnat 0.