Задача. С клавиатуры вводятся два целых числа. Верно ли, что только одно число кратно 3?
Приведем примеры:
Пусть A = 12, B = 11. В этом случае ответ ДА, первое число кратно 3, а второе не кратно 3.
Пусть A = 11, B = 12. В этом случае ответ ДА, второе число кратно 3, а первое не кратно 3.
Пусть A = 12, B = 12. В этом случае ответ НЕТ, оба числа кратны 3.
Пусть A = 11, B = 11. В этом случае ответ НЕТ, оба числа не кратны 3.
Как будем решать задачу
1 способ
Проверим условие
Если число А кратно 3 и при этом число В не кратно 3 или число А не кратно 3, а число В кратно 3, то ответ ДА, иначе НЕТ.
if (A mod 3 = 0) and (B mod 3<>0) or (A mod 3<>0) and (B mod 3=0) then print('ДА') else print('НЕТ');
2 способ
Проверим условие
НЕВЕРНО, что условие (число А кратно 3) равносильно условию (число В кратно 3)
if not ((A mod 3 = 0) = (B mod 3 = 0)) then print('ДА') else print('НЕТ');
3 способ
Для проверки такого условия можно использовать логическую операцию Исключающее ИЛИ (xor), по сути она равна логическому неравенству.
if (A mod 3 = 0) xor (B mod 3 = 0) then print('ДА') else print('НЕТ');
Если ввести обозначения двум условиям X и Y, то верно следующее:
not (X = Y) равно (X xor Y)
Комментариев нет:
Отправить комментарий