Предмет: Информатика, автор: juliavinn07

Програма повинна запитувати трьохзначне число. Якщо цифр більше, то необхідно вивести відповідний текст. Программа перевіряє, чи ділиться введене число на 6. Число ділиться на 6 тільки в разі дотримання двох умов: Остання його цифра кратна 2. Сума всіх цифр кратна 3. Наприклад: Число 426 ділиться на 6, бо остання цифра кратна 2 (тобто ділиться на 2 без остачі), а сума цифр (4+2+6 = 12) кратна 3 (тобто ділиться на 3 без остачі).

Ответы

Автор ответа: Ivan19074
1

Ответ:

def is_div(x):

  if (int(x[-1]) % 2): return 0

  s = 0

  for i in x: s += int(i)

  return (not s%3)

x = input()

if (len(x) != 3): print("Неправильное число!")

print(is_div(x))

Объяснение:

Эта программа принимает строку. Если длина строка не равна 3, то она это выводит. Далее она выводит результат проверки на деление: 0, если число не делится, и 1 если оно делится.

Функция is_div() сначала проверяет, делится ли последний символ строки на 2, затем считает сумму всех цифр, а тем выводит логическое НЕТ остатка от деления числа на 3 (то есть, если у числа есть остаток от деления на 3, оно выведет 0, а если нет, то выведет 1)


p15: 0/True/False !=0/1
Автор ответа: p15
1

Ответ:

def is_div(x):

   return not(int(x[-1])%2) and not(sum(map(int,x))%3)

x=input()

print("Введите трехзначное число" if len(x)!=3 else is_div(x))

Объяснение:

Переписал, чтобы выдавало только False/True.

Ну и немного оптимизировал код. В принципе достаточно выделенного:

x=input()

print("Неправильный ввод" if len(x)!=3 else not(int(x[-1])%2) and not(sum(map(int,x))%3))

Похожие вопросы
Предмет: Русский язык, автор: kweiopjh