素数之积

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


全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 11:30
找工作7个月,投了7000封,3段世界五百强实习,才有一个offer,牛油们肯定比我强吧
码农索隆:不对不对不对,实习经历这么厉害,简历也没少投,问题出在哪呢
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务