В този пример ще се научите да намирате GCD (Greatest Common Divisor) на две положителни цели числа, въведени от потребителя с помощта на рекурсия.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C:
- C Функции
- C Потребителски дефинирани функции
- C Рекурсия
Тази програма приема две положителни цели числа като вход от потребителя и изчислява GCD, използвайки рекурсия.
Посетете тази страница, за да научите как можете да изчислите GCD с помощта на цикли.
GCD на две числа, използващи рекурсия
#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; )
Изход
Въведете две положителни числа: 366 60 GCD от 366 и 60 е 6.
В тази програма се извършват рекурсивни повиквания, докато стойността на n2 е равна на 0.