算法题目
在网络安全领域,RSA加密算法有着广泛的应用,它的安全性依赖于极大整数因数分解的困难程度,通常数据越大,安全系数就越高。现在我们聚焦于一个简化的问题:给定一个32位正整数,需要对其进行因数分解,找出是哪两个素数相乘得到了这个数。
输入要求:输入一个正整数num
,这个数的范围是 0 < num <= 2147483647。
输出要求:如果能够成功找到满足条件的两个素数,就以单个空格分隔,按照从小到大的顺序输出这两个素数;如果经过因数分解后,找不到任何两个素数的乘积等于输入的数,那么就输出-1 -1
。
示例:
- 示例一:
- 输入:
15
- 输出:
3 5
- 说明:因为对15进行因数分解后,得到 3 * 5 = 15,按照从小到大的顺序输出就是 3 5。
- 示例二&#x