Код: Выделить всё
def is_prime(n:int) -> bool:
if n==2 or n==3:
return True
for i in range(3, n//2+1):
if n%i==0:
return False
return True
def made_of(n:int) -> list[int]:
v = []
for i in range(2, n//2+1):
for j in range(2, n//2+1):
if i*j==n:
v += [i]
v += [j]
return v
def is_prime_list(v:list[int]) -> bool:
for i in range(0, len(v)):
if is_prime(v[i])!= True:
return False
return True
def made_of_prime(v:list[int]) -> list[int]:
p = []
w = []
if is_prime_list(v)==False:
for i in range(0, len(v)):
if is_prime(v[i])==True:
w += [v[i]]
else:
p += made_of(v[i])
return made_of_prime(p)
else:
w += v
return w
return w
if __name__=="__main__":
print(made_of_prime(made_of(140)))
Подробнее здесь: https://stackoverflow.com/questions/793 ... past-input
Мобильная версия