8893. Каждое условие из двух

 

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

·        число n кратно трем;

·        число n четное и двузначное.

 

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

 

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

 

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

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

12

YES

 

 

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

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

27

NO

 

 

РЕШЕНИЕ

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

 

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

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

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

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

Если flag = 2, то выполняются оба условия, выводим YES. Иначе выводим NO.

 

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

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

 

scanf("%d", &n);

 

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

 

flag = 0;

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

if (n % 2 == 0 && ((n >= 10 && n <= 99) || (n >= -99 && n <= -10)))

  flag++;

 

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

 

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

else puts("NO");

 

Java реализация

 

import java.util.*;

 

public class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int n = con.nextInt();

    int flag = 0;

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

    if (n % 2 == 0 &&

      ((n >= 10 && n <= 99) || (n >= -99 && n <= -10))) flag++;

 

    if (flag == 2) System.out.println("YES");

    else System.out.println("NO");

    con.close();

  }

}

 

Python реализация

 

n = int(input())

 

flag = 0

if n % 3 == 0: flag += 1

if n % 2 == 0 and

  ((n >= 10 and n <= 99) or (n >= -99 and n <= -10)): flag += 1

 

if flag == 2: print("YES")

else: print("NO")