华为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))
相关推荐
2402_854808371 分钟前
CSS如何实现元素在容器内居中_利用margin-auto技巧
jvm·数据库·python
weixin_580614002 分钟前
html标签怎么表示用户输入_kbd标签键盘快捷键标注【介绍】
jvm·数据库·python
m0_716430073 分钟前
如何监控集群 interconnect_ping与traceroute验证心跳通畅.txt
jvm·数据库·python
m0_678485454 分钟前
如何通过 curl 调用 Go 标准库 RPC 服务(JSON-RPC 协议)
jvm·数据库·python
2401_8654396316 分钟前
HTML5中SVG原生动画标签Animate的基础用法
jvm·数据库·python
萝卜小白17 分钟前
算法实习day03-碎碎念
python·ai·实习
XY_墨莲伊18 分钟前
【实战项目】基于B/S结构Flask+Folium技术的出租车轨迹可视化分析系统(文末含完整源代码)
开发语言·后端·python·算法·机器学习·flask
Trisyp24 分钟前
使用 APScheduler 实现精细化的定时任务
python·apscheduler
z64943150827 分钟前
【Python开源-单目测距】单目无人机多视角测距:DJI RTK图像 → 地面目标3D坐标与距离,平均RE仅2.12%
python·计算机视觉·开源·无人机
Fleshy数模28 分钟前
PyQt5 登录界面开发全流程:从环境配置到可视化设计
开发语言·python·qt