如何生成具有七个除数的数字?

时间:2011-03-13 15:37:01

标签: c++ algorithm prime-factoring

对于家庭作业,我需要逻辑来找到一系列从1到1000的数字,这些数字正好有七个除数。

(理想情况下,可以轻松修改代码以生成素数。)

4 个答案:

答案 0 :(得分:9)

取一个素数p。计算p^6。其唯一的除数将是:1pp^2p^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!