89 lines
1.5 KiB
Python
Executable File
89 lines
1.5 KiB
Python
Executable File
import operator
|
|
import functools
|
|
prime = [2, 3]
|
|
|
|
def simple(a):
|
|
num = a[-1]+1
|
|
tr = False
|
|
while tr != True:
|
|
for i in range(2, num):
|
|
if num%i == 0:
|
|
tr = False
|
|
num += 1
|
|
break
|
|
else:
|
|
tr = True
|
|
a.append(num)
|
|
# print(f'В список добавлено число {num}')
|
|
|
|
|
|
|
|
def NOK(x,y):
|
|
if x > y:
|
|
difx = True
|
|
else:
|
|
difx=False
|
|
|
|
arrayx=[]
|
|
arrayy=[]
|
|
counter=0
|
|
while x!=1:
|
|
for i in range(counter, len(prime)):
|
|
if prime[i]>(x/2):
|
|
arrayx.append(x)
|
|
x=1
|
|
break
|
|
if x%prime[i]==0:
|
|
x //= prime[i]
|
|
arrayx.append(prime[i])
|
|
counter=0
|
|
i=0
|
|
break
|
|
|
|
if (x>1) and (i==(len(prime)-1)):
|
|
simple(prime)
|
|
counter=i
|
|
|
|
counter=0
|
|
while y!=1:
|
|
for i in range(counter, len(prime)):
|
|
if prime[i]>(y/2):
|
|
arrayy.append(y)
|
|
y=1
|
|
break
|
|
if y%prime[i]==0:
|
|
y//=prime[i]
|
|
arrayy.append(prime[i])
|
|
counter=0
|
|
i=0
|
|
break
|
|
|
|
if (y>1) and (i==(len(prime)-1)):
|
|
simple(prime)
|
|
counter=i
|
|
|
|
print(arrayx, arrayy)
|
|
|
|
count_ax = 0
|
|
y_second = list(arrayy)
|
|
x_second = list(arrayx)
|
|
for i in range(0, len(arrayy)):
|
|
for for_x in range(0, len(x_second)):
|
|
if arrayy[i] == x_second[for_x]:
|
|
y_second.remove(arrayy[i])
|
|
x_second.remove(arrayy[i])
|
|
break
|
|
|
|
|
|
result_array = y_second + arrayx
|
|
result = functools.reduce(operator.mul, result_array, 1)
|
|
print(result_array, result)
|
|
return result
|
|
|
|
|
|
|
|
first = int(input())
|
|
second = int(input())
|
|
print(NOK(first,second))
|
|
input()
|