8891. Ровно одно условие из двух

 

Для заданного целого числа n выведите YES, если выполняется ровно одно из следующих условий, и NO в противном случае.

·        число n является четным;

·        число n является отрицательным и кратным трем.

 

Вход. Одно целое число n.

 

Выход. Выведите YESили NOв зависимости от выполнения указанных условий.

 

Пример входа 1

Пример выхода 1

22

YES

 

 

Пример входа 2

Пример выхода 2

7

NO

 

 

РЕШЕНИЕ

условный оператор

 

Анализ алгоритма

Переменная flag будет использоваться для подсчёта количества выполненных условий. Изначально присвоим ей значение 0.

·        Если число n четное, увеличиваем flag на 1;

·        Если число n отрицательное и кратное трем, также увеличиваем flag на 1;

Если flag = 1, то выполняется ровно одно из условий, поэтому выводим “YES”. В противном случае выводим “NO”.

 

Пример

Пусть n = 22. Число четное. Оно не является отрицательным и кратным 3. Таким образом, выполняется только одно условие. Ответ YES.

 

Реализация алгоритма

Читаем входное число n.

 

scanf("%d", &n);

 

Проверяем два условия. Если условие выполняется, увеличиваем значение переменной flag на 1.

 

flag = 0;

if (n % 2 == 0) flag++;

if (n < 0 && n % 3 == 0) flag++;

 

В зависимости от значения переменной flag выводим ответ.

 

if (flag == 1) puts("YES");

else puts("NO");

 

Python реализация

Читаем входное число n.

 

n = int(input())

 

Проверяем два условия. Если условие выполняется, увеличиваем значение переменной flag на 1.

 

flag = 0

if n % 2 == 0:

  flag += 1

if n < 0 and n % 3 == 0:

  flag += 1

 

В зависимости от значения переменной flag выводим ответ.

 

if flag == 1:

  print("YES")

else:

  print("NO")