我看到了PPCG 面临的另一个主要挑战,而且我确实爱我一些主要挑战。然后,我误读了介绍性文字,想知道这里的创造力是什么。
事实证明,提出的问题是微不足道的,但我想知道我(误读)的问题是否也是如此:
6可以用2 ^ 1 * 3 ^ 1表示,而50可以用2 ^ 1 * 5 ^ 2表示(其中^表示指数)。
你的任务:
编写程序或函数,以确定此数字表示形式中有多少个不同的质数。
输入:
通过任何常规方法获取的整数n,使得1 <n <10 ^ 12。
输出:
表示 n 的唯一素数所需的不同素数的数量。
测试用例:
Input Factorisation Unique primes in factorisation representation
24 2^3*3^1 2 (2, 3)
126 2^1*3^2*7^1 3 (2, 3, 7)
8 2^3 2 (2, 3)
64 2^6 1 (2) (6 doesn't get factorised further)
72 2^3*3^2 2 (2, 3)
8640 2^6*3^3*5^1 3 (2, 3, 5)
317011968 2^11*3^5*7^2*13^1 6 (2, 3, 5, 7, 11, 13)
27 3^3 1 (3)
这不是OEIS序列。
得分:
这是 代码高尔夫球,以字节为单位的最低分数获胜!
对于
—
pbeentje '17
64
预期的结果为1(2)。我喜欢递归执行此操作的想法,但这不是我阅读原始问题的方式。我认为这8640
是一个合适的测试用例,但应该更加明确-谢谢。
您声称这不是OEIS序列。(小)Ω功能的值不是A001221吗?
—
Gray Taylor
A001221相似,但由于在本练习中将指数作为质数,因此在第8和9(此处为2,A001221 1)处开始偏离。
—
pbeentje
知道了 写下素数分解,然后看看我写了多少个素数(不管它们扮演什么角色)。我想知道如果您再进一步将因子分解为因子会发生什么呢?
—
Gray Taylor
64
什么?是2 (2,3)
(因为6可以表示为2 * 3)还是1 (2)
(忽略6)?