华为OD-素数之积

题目描述

RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的困难度,数据越大,安全系数越高,给定一个32位正整数,请对其进行因数分解,找出是哪两个素数的乘积。

输入描述

  1. 一个正整数num

  2. 0 < num <= 2147483647

输出描述

  1. 如果成功找到,以单个空格分割,从小到大输出两个素数,分解失败,请输出-1 -1

示例一

输入

复制代码
15

输出

复制代码
3 5

代码实现

python 复制代码
# coding:utf-8
# 素数之积
import math


class Solution:
    def primeProdcut(self, n):
        s = int(math.sqrt(n))
        res = ''
        flag = False
        for i in range(2, s + 1):
            if n % i == 0:
                if self.is_prime(i) and self.is_prime(n // i):
                    flag = True
                    if i < n // i:
                        res = f"{i} {n // i}"
                    else:
                        res = f"{n // i} {n}"
        if flag:
            return res
        else:
            return "-1 -1"

    def is_prime(self, n):
        if n < 2:
            return False
        for i in range(2, int(math.sqrt(n)) + 1):
            if n % i == 0:
                return False
        return True


if __name__ == '__main__':
    s = int(input("input:"))
    solution = Solution()
    print(solution.primeProdcut(s))
相关推荐
星爷AG I14 分钟前
14-4 运动控制理论:协同理论(AGI基础理论)
算法·机器学习·agi
WJSKad123518 分钟前
如何评价ControlNet v1.1的InPaint版本?[特殊字符]
python
xuansec23 分钟前
【JavaEE安全】JNDI 注入从原理到实战:RMI、LDAP 与高版本绕过
python·安全·java-ee
进击的雷神32 分钟前
前端路由动态渲染、JSON内嵌HTML清洗、展位信息数组化、分页参数固定化——尼日利亚展会爬虫四大技术难关攻克纪实
前端·爬虫·python·json
I_LPL33 分钟前
day48 代码随想录算法训练营 图论专题1
java·算法·深度优先·图论·广度优先·求职面试
absunique40 分钟前
多路归并算法在外部排序中的实现与优化的技术7
算法
鹿鸣悠悠1 小时前
【AI-08】Prompt(提示词)
人工智能·算法
数据中穿行1 小时前
12种经典排序算法完整C++实现
算法
2501_926978331 小时前
从“数字果蝇” 到“数字意识”以及AGI的构建思路
大数据·人工智能·经验分享·算法·ai写作·agi
无尽的罚坐人生1 小时前
hot 100 101. 对称二叉树
数据结构·算法·leetcode