Парні та непарні числа#1623

Парні та непарні числа (Розбір)

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

Запишемо дві умови. У першій перевіримо, чи є серед трьох чисел парне число. У другій – чи є серед трьох чисел непарне число. Якщо обидві умови істинні, то виводимо "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")