Мне нужно вывести все простые делители заданного числа n.
Я попытался написать некоторый код и обнаружил, что условие остановки - если n простое или что мы получили 2. 2. 1003 *
Что мне трудно, так это найти способ отправить элемент в функцию, не «теряя» заданное число 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