素数之积
标题:素数之积 | 时间限制: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