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

Ответы на вопрос

Важное замечание: Для типа long long int требуется от компилятора поддержка стандарта C99.
Приложил файл расширения .cpp, чтобы обойти ограничение сайта. При работе с кодом измените на .c
#include <stdio.h>
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));
}





Ваша задача сводится к нахождению наибольшего общего делителя (НОД) между двумя числами - количеством зубцов на каждой из шестеренок. Это число и будет минимальным числом поворотов, необходимых для возвращения шестеренок в исходное состояние.
В языках программирования C и C++, вы можете использовать функцию `gcd()`, которая доступна в библиотеке `
Вот пример кода, который решает вашу задачу:
```c++
#include
int main() { int N, K; std::cin >> N >> K; std::cout << std::gcd(N, K) << std::endl; return 0; } ```
В этом коде мы сначала считываем два числа - количество зубцов на каждой из шестеренок. Затем мы вызываем функцию `std::gcd()`, передавая ей эти два числа. Результат функции (наибольший общий делитель) выводим на экран.
Обратите внимание, что функция `std::gcd()` возвращает наибольший общий делитель, а не минимальное количество поворотов. Но поскольку каждый поворот на один зубчик увеличивает количество зубчиков на шестеренке на количество зубцов на этой шестеренке, минимальное количество поворотов будет равно наибольшему общему делителю.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili