Proc48. Учитывая, что наименьшее общее кратное двух целых положительных чисел $$A$$ и $$B$$ равно $$A$$*($$B$$/НОД($$A$$, $$B$$)), где НОД($$A$$, $$B$$) — наибольший общий делитель $$A$$ и $$B$$, и используя функцию NOD2 из задания Proc46, описать функцию NOK2($$A$$, $$B$$) целого типа, находящую наименьшее общее кратное чисел $$A$$ и $$B$$. С помощью NOK2 найти наименьшие общие кратные пар ($$A$$, $$B$$), ($$A$$, $$C$$), ($$A$$, $$D$$), если даны числа $$A$$, $$B$$, $$C$$, $$D$$.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#include <stdio.h> int nod2(int a ,int b){ while ((a!=0)&&(b!=0)){ if (a>b) a%= b; else b%=a; } return a+b; } int nok2(int a ,int b){ return a*(b/nod2(a,b)); } int main(void) { int a,b,c,d; printf("A:"); scanf("%i", &a); printf("B:"); scanf("%i", &b); printf("C:"); scanf("%i", &c); printf("D:"); scanf("%i", &d); printf("NOK(a,b): %i\n", nok2(a,b)); printf("NOK(a,c): %i\n", nok2(a,c)); printf("NOK(a,d): %i\n", nok2(a,d)); return 0; } |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: