素数之积
标题:素数之积 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限
RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。
def factor(num):
if num == 1:
return []
else:
for i in range(2, num+1):
a, b = divmod(num, i)
if b == 0:
return [i] + factor(a)
while True:
try:
num = int(input())
if num > 2147483646:
print('-1 -1')
list_out = factor(num)
if len(list_out) == 2:
print('{} {}'.format(list_out[0], list_out[1]))
else:
print('-1 -1')
except:
break
海康威视公司氛围 1012人发布