素数之积

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


全部评论

相关推荐

11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务