Даны две сцепленные шестеренки. У одной шестеренки N зубцов, у другой – K. Требуется...

0 голосов
309 просмотров

Даны две сцепленные шестеренки. У одной шестеренки N зубцов, у другой – K. Требуется найти, какое минимальное число поворотов на один зубчик требуется сделать, чтобы шестеренки вернулись в исходное состояние. Входные данные В единственной строке --- два натуральных числа N и K, не превосходящих 10 миллионов. Выходные данные Выведите искомое количество зубчиков. Гарантируется, что оно не более миллиарда На языке С и С++ ПОЖАЛУЙСТА


Информатика (654k баллов) | 309 просмотров
0

"какое минимальное число поворотов на один зубчик требуется сделать, чтобы шестеренки вернулись в исходное состояние" - повороты считать у каждой шестеренки?

0

Да

0

На С и С++?

0

GNU C 7.2.0

Дан 1 ответ
0 голосов

Важное замечание: Для типа long long int требуется от компилятора поддержка стандарта C99.

Приложил файл расширения .cpp, чтобы обойти ограничение сайта. При работе с кодом измените на .c

#include


long long int NOD(long long int var1, long long int var2) //Алгоритм Евклида

{

   while(var1 != var2)

   {

       if(var1 > var2)

           var1 = var1 - var2;

       else var2 = var2 - var1;

   }

   return var1;

}

long long int NOK(long long int var1, long long int var2)

{

   return (var1 * var2) / NOD(var1, var2);

}

int main()

{

   long long int N, K;

   scanf("%lli%lli", &N, &K);


   printf("Количество оборотов: %lli\n", NOK(N, K));


}


image
(4.0k баллов)