用C / C ++程序查找具有多个唯一素数的乘积?
在本节中,我们将看到如何以有效的方式获得数字的唯一质数的乘积。有一个数字说n=1092,我们必须得到唯一的素因数的乘积。1092的素数是2、2、3、7、13。因此唯一的素数是{2、3、7、13},乘积是546。要解决此问题,我们必须遵循以下规则-
当数字可被2整除时,将2与乘积相乘,然后将数字除以2,则接下来的2s将被忽略。
现在数字必须是奇数。现在从3到数字的平方根开始,如果该数字可被当前值整除,则将该乘积乘以乘积,并通过将其除以当前数字来更改该数字,然后继续。接下来像上面一样被忽略
最后,如果该数字大于2,则它不是1,因此将剩余的数字乘以。
让我们看看该算法以获得更好的主意。
算法
uniquePrimeProduct(n)
begin prod := 1 if n is divisible by 2, then prod := prod * 2 n := n / 2 end if while n is divisible by 2, do n := n / 2 done for i := 3 to √