While23. Даны целые положительные числа $$A$$ и $$B$$. Найти их наибольший общий делитель (НОД), используя алгоритм Евклида: НОД($$A$$,$$B$$) = НОД($$B$$, $$A$$ mod $$B$$), если $$B \not= 0$$; НОД($$A$$, $$0$$) = $$A$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
#include <stdio.h> int main(void) { int a,b; printf("A:"); scanf("%i",&a); printf("B:"); scanf("%i",&b); while ((a!=0)&(b!=0)){ if (a>b) a=a%b; else b=b%a; } printf("%i\n",a+b); return 0; } |
Другие задачи из раздела While можно посмотреть здесь.
Комментарии: