递归的主要除数

时间:2018-07-04 11:57:55

标签: algorithm matlab

我需要打印给定数字n的所有素数。

我尝试编写一些代码,发现停止条件是n为素数还是等于2。

我很难过的是找到一种方法来将元素仍然发送到函数,而又不会“丢失”给定的数字n,这很容易,如果我需要素数分解,在这种情况下,我将发送给函数n除以已建立的素数除以得到较小的输入

编辑:我了解这等同于找到素因数分解

我的代码:

function y=PrimeR(n)
if isprime(n)==1
    y=n

else
for i=floor(sqrt(n)):-1:2
       if mod(n,i)==0
           y=[i,PrimeR(n./i)]
       end
end
end
end

0 个答案:

没有答案