2013年是主要因素3*11*61
。2014年是主要因素2*19*53
。关于这些因式分解的一个有趣特性是,在2013和2014的因式分解中存在不同的素数,它们的总和为相同的数量:11+61=19+53=72
。
编写一个程序或函数,该程序或函数的输入为两个大于1的正整数,如果存在一个选定的素数之和等于第二个选定的素数之和,则返回真值。否则为假值。
澄清说明
- 可以使用两个以上的主要因子。总数中并非所有的素数因子都需要使用。两个数中使用的素数的数量不必相等。
- 即使在数的因式分解中将质数提高到大于1的幂,它也只能在该数的质数之和中使用一次。
- 1不是素数。
- 两个输入数字均小于
2^32-1
。
测试用例
5,6
5=5
6=2*3
5=2+3
==>True
2013,2014
2013=3*11*61
2014=2*19*53
11+61=19+53
==>True
8,15
8=2^3
15=3*5
No possible sum
==>False
21,25
21=3*7
25=5^2
No possible sum (can't do 3+7=5+5 because of exponent)
==>False
这是代码高尔夫。适用标准规则。以字节为单位的最短代码获胜。
true
,因为它们共享因子7
?