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))
var
a,b,k,i,k1:integer;
begin
write('Сколько фигур: '); readln(k);
b:=0; k1:=0;
for i:=1 to k do
begin
write('Стороны ',i,'-го треугольника(A B): '); readln(a,k);
if a>=k then
if a>k then
inc(b)
else inc(k1);
end;
writeln('Горизонтальных: ',b);
writeln('Вертикальных: ',i-b-k1);
if k1<>0 then
writeln('Квадратов: ',k1);
end.
Если моё решение вам, пометьте его лучшим !