灵感来自这个 Numberphile进入
背景
整数n的立方距离数在此定义为一组整数,它们是给定x的x³距离。举一个简单的例子,使用和时,立方体距离数为。n=100
x=2
{92,108}
只需更改x即可将其扩展为更大的集合。使用x ∈ {1,2,3,4}
和相同n=100
,我们得到结果集{36,73,92,99,101,108,127,164}
。
让我们来定义CD(N,X)的所有整数的集合n ± z³
带z ∈ {1,2,3,...,x}
。
现在我们可以集中讨论这些立方距离数字的一些特殊属性。在数字可以具有的许多特殊属性中,我们在此处感兴趣的两个属性是素数和素数除数。
对于上面的示例CD(100,4),请注意它们73, 101, 127
都是素数。如果将它们从集合中删除,则剩下{36,92,99,108,164}
。这些数字的所有主除数都是(按顺序){2,2,3,3,2,2,23,3,3,11,2,2,3,3,3,2,2,41}
,这意味着我们有5个不同的主除数{2,3,23,11,41}
。因此,我们可以定义CD(100,4)具有ravenity 1中5
。
这里的挑战是以最小的字节编写一个函数或程序,以输出给定输入的泛滥。
输入值
- 两个正整数
n
和x
,采用任何方便的格式。
输出量
- 当用CD(n,x)计算时,一个整数,描述两个输入数字的奇异性。
规则
- 输入/输出可以通过任何合适的方法。
- 适用标准漏洞限制。
- 为了便于计算,您可以假设输入数据将使CD(n,x)在集合中仅具有正数(即,没有CD(n,x)会具有负数或零)。
- 该函数或程序应该能够处理输入数字,以便
n + x³
适合您语言的本机整数数据类型。例如,对于32位带符号整数类型,所有输入数字n + x³ < 2147483648
都可以。
例子
n,x - output
2,1 - 0 (since CD(2,1)={1,3}, distinct prime divisors={}, ravenity=0)
5,1 - 2
100,4 - 5
720,6 - 11
脚注
1-如此命名是因为我们对布景的基数不感兴趣,而是对另一种鸟类感兴趣。由于我们正在处理“公共”除数,因此我选择使用公共乌鸦。
100,4
是OP在背景技术部分中说明的示例。您的错误似乎是您应该考虑所有因素1..x
,因此[1,2,3,4]
对于这种情况。
100,4
产生5?该集合的立方距离数为36,164
,并且该集合的素数为2,3,41
(因为该集合的因数分别为{2, 3, 4, 6, 9, 12, 18, 36}
和{2, 4, 41, 82, 164}
)。因此,输出应为3,而不是5