华为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))
相关推荐
CoovallyAIHub8 分钟前
AAAI 2026 | 上海AI Lab发布RacketVision,首次为球拍运动标注球拍姿态
深度学习·算法·计算机视觉
大熊背8 分钟前
双目拼接摄像机中简单的色差校正原理
人工智能·算法·isppipeline·双目拼接
CoovallyAIHub16 分钟前
中文语音识别该用谁?6 个开源模型 + 2 个配套工具,一文理清
深度学习·算法·计算机视觉
会编程的土豆21 分钟前
【数据结构与算法】 二叉树做题
开发语言·数据结构·c++·算法
木禾ali0th23 分钟前
告别大模型“裸奔”:开源项目 ClawVault 架构与核心能力解析
算法·安全
Storynone24 分钟前
【Day28】LeetCode:509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯
python·算法·leetcode
guts35027 分钟前
使用python里的OpenCV包做简单的车道线检测
人工智能·python·opencv
DeepModel43 分钟前
【统计检验】方差分析(ANOVA)
算法
sz-lcw43 分钟前
HOG特征向量计算方法
人工智能·python·算法
ZTLJQ1 小时前
驾驭高并发:Python协程与 async/await 完全解析
服务器·数据库·python