algorithm - 递归中的素数除数
问题描述
我需要打印给定数字 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
解决方案
推荐阅读
- ide - 是否可以从 Genexus IDE(外部工具)调用外部批处理文件
- scala - Chisel 中的 <> 运算符是什么?
- common-lisp - 类型说明符可以指定与任意值相等吗?
- git - git merge origin - 总是默认跟踪分支?
- mysql - 在春天,如何在一次迭代发生事务回滚后继续来自控制器的for循环请求
- php - 在 Woocommerce 的某些页面上从产品 ID 添加星级
- macros - 重新定义内置方案,但仅在用作特定过程的参数时?
- javascript - JSON.parse() 后无法访问对象的属性
- javascript - require.js 使用来自不同模块的 AngularJS 指令
- python - 自定义 keras 指标返回 nan