Во дворе школы строители оставили две горы песка, и объем их известен - n и m литров. Дворник дядя Петя хочет организовать уборку территории школы, но для этого ему нужно ведро, которым он будет выносить песок с территории. Дядя Петя хочет взять самое большое ведро, так, чтобы для переноски как первой, так и второй кучи песка ему потребовалась бы вынести некоторое количество полностью заполненных ведер. Причем, дядя Петя планирует заняться в понедельник первой кучей, а второй кучей - только в среду. Поэтому песок из каждой кучи он будет выносить отдельно и независимо от другой.
Вам требуется найти вместимость (в литрах) такого ведра, чтобы дядя Петя вынес минимальное количество ведер и полностью убрал двор.
В единственной строке записаны два числа n и m (0 < n, m ≤ 216
).
Выведите одно число - ответ на поставленную задачу.
#include <iostream>
using namespace std;
int gcd(int a, int b)
{
while (b)
{
a %= b;
swap(a, b);
}
return a;
}
int main()
{
int n, m; cin >> n >> m;
if (n == 1 || m == 1) cout << 1 << endl;
else cout << gcd(n, m) << endl;
}
Есть решение которого нет на сайте? Пиши admin@devexe.top