Аналіз алгоритму
Запишемо дві умови. У першій перевіримо, чи є серед трьох чисел парне число. У другій – чи є серед трьох чисел непарне число. Якщо обидві умови істинні, то виводимо "YES".
Реалізація алгоритму
Читаємо вхідні дані. Встановимо змінній flag значення 0. Якщо серед трьох вхідних чисел є парне, то збільшимо flag на 1. Далі, якщо серед трьох чисел є непарне, то також збільшимо flag на 1.
Якщо одне з вхідних чисел буде непарним від'ємним, то залишок від його ділення на 2 дорівнює -1, а не 1. Тому простіше перейти до вирішення задачі на невід'ємних цілих числах, взявши вхідні значення за модулем.
scanf("%d %d %d",&a,&b,&c);
flag = 0;
if (a < 0) a = -a;
if (b < 0) b = -b;
if (c < 0) c = -c;
if ((a % 2 == 0) || (b % 2 == 0) || (c % 2 == 0)) flag++;
if ((a % 2 == 1) || (b % 2 == 1) || (c % 2 == 1)) flag++;
if (flag == 2)
printf("YES\n");
else
printf("NO\n");Якщо обидві умови істинні, то змінна flag прийме значення 2. Виводимо результат залежно від значення flag.
Друге рішення. Задачу можна вирішити за допомогою однієї складної умови.
scanf("%d %d %d",&a,&b,&c);
if (a < 0) a = -a;
if (b < 0) b = -b;
if (c < 0) c = -c;
if (((a % 2 == 0) || (b % 2 == 0) || (c % 2 == 0)) && ((a % 2 == 1) || (b % 2 == 1) || (c % 2 == 1)))
printf("YES\n");
else
printf("NO\n");Java реалізація
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int a = con.nextInt();
int b = con.nextInt();
int c = con.nextInt();
int flag = 0;
if (a % 2 == 0 || b % 2 == 0 || c % 2 == 0) flag++;
if (a % 2 != 0 || b % 2 != 0 || c % 2 != 0) flag++;
if (flag == 2)
System.out.println("YES");
else
System.out.println("NO");
con.close();
}
}Python реалізація
a,b,c = map(int,input().split())
flag = 0
if ((a % 2 == 0) or (b % 2 == 0) or (c % 2 == 0)) : flag += 1
if ((a % 2 == 1) or (b % 2 == 1) or (c % 2 == 1)) : flag += 1
if (flag == 2) :
print("YES")
else :
print("NO")