на с++ решить! Ящики
Там две коробки. В первом ящике находятся шары a, а во втором-шары b (0 < a + b < 2147483648). Можно перемещать шарики из одной коробки в другую. Из одной коробки в другую нужно переместить столько шаров, сколько уже содержится в другой коробке. Вы должны определить, можно ли переместить все шары в одну коробку.
Ввод
Каждая строка содержит два целых числа a и b, разделенных пробелом.
Выход
Для каждого теста выведите в отдельной строке количество ходов, необходимых для перемещения всех шаров в одну коробку, или -1, если это невозможно.
a, b, c, d = list(map(float, input().split()))
print(False if (c == d) else ((a + b + c + d)/(c - d)).is_integer())
Сначала вводим 4 вещественных числа a, b, c, d.
Если c = d, то ответ False - частное будет нехорошим, поскольку в знаменателе будет 0. Если c не равно d, проверяем при встроенной функции is_integer(), что (a + b + c + d)/(c - d) - целое число.
Если a, b, c, d - целые, то float в решении можно заменить на int, а проверку при на проверку, что остаток от деления равен нулю, (a + b + c + d) % (c - d) == 0.
// Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-99,99); a.Println;
var b:=ArrRandom(ReadInteger('n='),-99,99); b.Println;
(var ma,var mb):=(a.Average,b.Average); // средние арифметические
var s:=ma+mb; // их сумма
Writeln('Среднее арифметическое массива а: ',ma);
Writeln('Среднее арифметическое массива b: ',mb);
Writeln('Их сумма: ',s)
end.
Пример
n= 12
9 -55 -14 -60 -90 56 60 -89 -9 18 -37 -29
n= 15
47 -53 4 22 38 -46 -74 -77 -74 -67 -67 -93 73 5 -16
Среднее арифметическое массива а: -20
Среднее арифметическое массива b: -25.2
Их сумма: -45.2