Решите в Pascal ABC
На вход программе подаются 4 целых числа, по модулю не превосходящие 10^6: m,n,k,l. Если остаток от деления m на n равен k или l, то выведите 1, в противном случае - любое другое число.
Условный оператор использовать нельзя!
Ответы
Ответ дал:
0
var m, n, k, l : longint;
begin
readln(m, n, k, l);
writeln(((m mod n) xor k) * ((m mod n) xor l) + 1);
end.
Работает программа следующим образом:
Если провести операцию XOR с двумя равными числами, то ответом будет 0.
Если остаток от деления равен k или l, то одна из скобок равна 0, что при умножении даст 0. Для выполнения условия задачи добавим 1.
Вас заинтересует
2 года назад
3 года назад
3 года назад
10 лет назад