我需要打印给定数字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