对于家庭作业,我需要逻辑来找到一系列从1到1000的数字,这些数字正好有七个除数。
(理想情况下,可以轻松修改代码以生成素数。)
答案 0 :(得分:9)
取一个素数p
。计算p^6
。其唯一的除数将是:1
,p
,p^2
,p^3
,...,p^6
。
答案 1 :(得分:7)
具有因子分解的数字
n = product(p_i ^ k_i)
将有
d = product(k_i + 1)
除数(见divisor function in Wikipedia)。这表明n
可能只有一个素因子,并且这个素因子必须提高到6的幂。所以取任意素数的六次幂。
答案 2 :(得分:2)
逻辑将是是完美的Square和Perfect cube。
你必须知道一个具有素因子的数字形式为N = N1 ^ a * N2 ^ b; 其中N1和N2是素数,具有* b因子或除数。
因此,对于7个因子,数字必须是N = a ^ 6的形式,其中a是素数。
例如2 ^ 6(64),3 ^ 6(729)。
编辑:使用这种逻辑,可以更加容易地生成数字。您可以轻松生成完美的正方形和完美的立方体<1000。并检查两个常用数字的列表。
答案 3 :(得分:1)
你需要来自for n = 1 to 1000
的循环(for循环),并且在这个循环内部另外循环for m = 1 to n
在这个循环测试中n/m = integer (no remainder)
如果它是递增div计数器。
在第二次循环结束时,检查div计数器是否为7,如果它在屏幕上写入数字。
编辑:对于素数,div计数器必须为2!