Guest User

Untitled

a guest
Aug 11th, 2017
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.03 KB | None | 0 0
  1. from functools import reduce
  2. from operator import mul
  3.  
  4. a = int(input('Введите натуральное число: '))          
  5. b = [x for x in range(1, a) if
  6.          x not in [i for sub in [list(range(2 * j, a, j)) for j in range(2, a // 2)] for i in sub]] #получаем список всех простых чисел до a
  7. d = list(range(2, a))           #получаем список всех чисел до a
  8. c = []
  9. for x in b:
  10.     for j in d:                 #берём список чисел d
  11.         if j % x == 0:          #делим весь список d на первый элемент b
  12.             d.insert(x, j/x)    #если элемент делится нацело, заменяем его на частное d/b
  13.             c.append(x)         #добавляем с каждой итерацией деления простой делитель в список "c"
  14.         else:
  15.             continue            #если не нацело, оставляем как есть
  16. print(c)
  17. print(reduce(mul, c))
Add Comment
Please, Sign In to add comment