Cüt və tək ədədlər#1623

Cüt və tək ədədlər (Həll təhlili)

Alqoritm Analizi

İki şərt yazalım. Birincisində, üç rəqəm arasında cüt rəqəmin olub-olmadığını yoxlayacağıq. İkincisində, üç rəqəm arasında tək rəqəmin olub-olmadığını yoxlayacağıq. Hər iki şərt doğru olarsa, "BELƏ" çıxışını verəcəyik.

Alqoritm Tətbiqi

Giriş məlumatlarını oxuyuruq. flag dəyişənini 0-a təyin edəcəyik. Üç giriş rəqəmi arasında cüt rəqəm varsa, onda flag-i 1 artıracağıq. Növbəti olaraq, üç rəqəm arasında tək rəqəm varsa, həmçinin flag-i 1 artıracağıq.

Giriş rəqəmlərindən biri mənfi tək rəqəm olarsa, onun 2-yə bölünməsindən qalan -1, yox 1 olur. Buna görə, problemi həll etməyə mənfi olmayan tam ədədlər üzərindən, giriş dəyərlərinin mütləq dəyərini götürərək keçmək daha sadədir.

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");

Hər iki şərt doğru olarsa, flag dəyişənin dəyəri 2 olacaq. Nəticəni flag-in dəyərinə əsasən çıxarırıq.

İkinci Həll. Problem tək mürəkkəb şərtlə həll edilə bilər.

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 Tətbiqi

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 Tətbiqi

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")