Программа:
num = input()
print("YES" if num[-1] in ["2", "3"] and int(num) % 3 == 0 and len(num) == 3 else "NO")
Сложна для понимания, поэтому приведу 2-ой вид программы:
num = input()
if len(num) == 3 and num[-1] in ["2", "3"] and int(num) % 3 == 0:
print("YES")
else:
print("NO")
Конечно, можно и через операторы % и // сделать:
num = int(input())
count = 0 # Переменная-счётчик кол-ва цифр в числе
last_num = num # Переменная для последней цифры в числе
num_c = num
while num_c:
num_c = num_c // 10
count += 1
if count == 3: # Проверка на кол-во цифр в числе
last_num = last_num // 10 # Например, 123 -> 12
last_num = last_num % 10 # 12 -> 2
if num % 3 == 0 and (last_num == 2 or last_num == 3):
print("YES")
else:
print("NO")
else:
print("NO")
1) NOT(A) AND B = 0
2) NOT(A) AND B = 1
3) NOT(A) AND B = 0
4) NOT(A) AND B = 0
Объяснение:
NOT - означает инверсию. Т.е. если А = 0, то подставляем вместо А единицу. И наоборот.
AND - логическое И или логическое умножение.
Разберем первый вариант. Подставим вместо переменных числа из предложенных вариантов:
NOT(0[A]) AND 0[B] = 1
Инвертируем первую переменную и заменим AND на умножение.
1 * 0 = 1. Как видим, равенство не совпадает, значет ответ неверный. По такому же принципу проверяем остальные вариант.
Разберем второй вариант:
NOT(0[A]) AND 1[B] = 1
Инвертируем первую переменную и заменим AND на умножение.
1 * 1 = 1. Равеноство совпадает, следовательно это верный вариант ответа.
ответ: 2) A=0, B=1
Поделитесь своими знаниями, ответьте на вопрос:
Файл размером 9 кбайт передаётся через некоторое соединение со скоростью 1536 бит в секунду. определите размер файла (в байтах), который можно передать за то же время через другое соединение со скоростью 512 бит в секунду. в ответе укажите одно число — размер файла в байтах.
Вычислим время: 2)9*1024* 8 / 1536 = 48 сек
3) 512 * 48 = 24576 бит = 3072 байт
ответ:3072