质因数matlab函数
1视图(30天)
显示旧的评论
函数(z1) = pfact (Z)
如果Z > = 2
p = 2: Z;
q = mod (Z, p);
一个=找到(q = = 0);
z1 = p (a)
elseifZ = = 1
z1 = 1
elseifZ = = 0
z1 = []
disp (“错误”)
结束
我想只有主要因素但这段代码给我所有的因素,我需要的主要因素,当他们把彼此给原始号码。
答案(1)
Dyuman Joshi
2023年4月3日
你写的代码给Z的因数。
这应该工作得很好,除非你在处理非常大的数字
着干活= pfact (20)
out2 = pfact (prod(质数(15)))
函数(z1) = pfact (Z)
如果Z > = 2
p =质数(sqrt (Z));
z1 = [];
而Z > 1
d = p (rem (Z, p) = = 0);
如果isempty (d)
z1 = (z1 Z);打破
结束
z1 = (z1 d);
Z = Z /刺激(d);
结束
z1 = (z1)进行排序;
elseifZ = = 1
z1 = 1;
elseifZ = = 0
z1 = [];
disp (“错误”)
结束
结束