МОЖЕТЕ НА ПИТОНЕ СДЕЛАТЬ? Дано натуральное четырехзначное число. Определить все цифры в цифровой записи данного числа, на которые оно делится без остатка.

Формат входных данных
Входной файл содержит натуральное четырехзначное число.

Формат выходных данных
Вывести количество таких цифр, а далее вывести сами цифры в порядке возрастания без повторений.

Примеры:
Вход
2428
Выход
2
2 4

Viktoria070804 Viktoria070804    2   27.01.2021 22:35    4

Ответы
калина007 калина007  26.02.2021 22:41

n = int(input()) # n = 2428

dx = []

x = n

while x > 0:

   if n % (x % 10) == 0:

       if str(x % 10) not in dx:

           dx.append(str(x % 10))

   x = x // 10

dx.sort()

print(len(dx))

print(' '.join(dx))

Объяснение:

n = int(input()) # n = 2428

dx = []

x = n # чтобы не изменить число, вводим новую переменную x = 2428

while x > 0:

   if n % (x % 10) == 0: # находим остаток от деления на последнюю цифру 2428 % (8) != 0

       if str(x % 10) not in dx: # если цифры нет в списке  

           dx.append(str(x % 10)) # добавляем в список в строковом формате

   x = x // 10 # отбрасываем последнюю цифру от числа x = 242

dx.sort() # сортируем список по возрастанию

print(len(dx))

print(' '.join(dx))

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика