matlab编程求助-求一个正整数的所有质因数要求做一个类似factor的function,找出用户输入整数的所有质因数.例如输入12 则输出 2 2 3希望有初级一点的解法.刚学这个不几天 很多东西不懂 现在最

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 04:09:16

matlab编程求助-求一个正整数的所有质因数要求做一个类似factor的function,找出用户输入整数的所有质因数.例如输入12 则输出 2 2 3希望有初级一点的解法.刚学这个不几天 很多东西不懂 现在最
matlab编程求助-求一个正整数的所有质因数
要求做一个类似factor的function,找出用户输入整数的所有质因数.例如输入12 则输出 2 2 3
希望有初级一点的解法.
刚学这个不几天 很多东西不懂 现在最多也就用个for while和一般的命令
c=[];
while isempty(b)
b(~mod(b,b(1)))=[];
这几点看不懂

matlab编程求助-求一个正整数的所有质因数要求做一个类似factor的function,找出用户输入整数的所有质因数.例如输入12 则输出 2 2 3希望有初级一点的解法.刚学这个不几天 很多东西不懂 现在最
function c=myfactor(a)
b=2:sqrt(a);
c=[];
while isempty(b)
if mod(a,b(1))
b(~mod(b,b(1)))=[];
continue;
else
c=[c,b(1)];
a=a/b(1);
b(b>sqrt(a))=[];
end
end
c=[c,a];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
这还不初级啊,没用用到任何matlab中自带的关于素数的函数,全部自己找出来,你还想怎么个初级法?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
c=[]就是令c为空矩阵,以后会慢慢加进去
isempty是判断矩阵是否为空的命令,是取反,即原来是0的变成1(即T),非0的变成0(即F),while isempty(b)就是当b不空时循环.
mod是取模,
if mod(a,b(1))就是如果a不被b(1)整除
mod(b,b(1))就是如果b中能被b(1)整除就为1,否则为0.(因为前面取了个反)
b(~mod(b,b(1)))=[]的意思就是把b中能被b(1)整除的那些元素都删了.因为那些都不是素数,除了b(1),但b(1)又不被a整除,即不是a的因子,所以也删掉.continue什么意思应该知道的吧
然后如果a能够被b(1)整除的话那么b(1)就是a的素因子了,把它放到矩阵c中
b(b>sqrt(a))=[]的意思也是吧b中大于根号a的元素都删了.

matlab编程求助-求一个正整数的所有质因数要求做一个类似factor的function,找出用户输入整数的所有质因数.例如输入12 则输出 2 2 3希望有初级一点的解法.刚学这个不几天 很多东西不懂 现在最 Matlab编程求能用几个连续正整数之和表示的整数一个正整数有可能可以被表示为几个连续正整数之和,如: 15=1+2+3+4+5 ,15=4+5+6 ,15=7+8 请用Matlab编写程序,找出符合这种要求的和为1000的所有连续 如何求一个正整数的所有因子 matlab编程求出一个矩阵所有由该矩阵几列列向量组成的非零子矩阵 编程题:输入一个正整数,若该数能用几个连续正整数之和表示,则输出所有可能的正整数序列.求C或C++解法,最好是C,谢谢~ 123321是一个非常特殊的数,它从左边读和从右边读是一样的.输入一个正整数n, 编程求所有这样的五、六123321是一个非常特殊的数,它从左边读和从右边读是一样的.  输入一个正整数n, 编程求 用for循环编程求一个正整数的各位数的积 设x为一个长度为n的数组,用matlab编程求均值和标准差 求助利用Matlab编程:矩阵中每行各取一个元素,使其和最小,并给出该最短路径的坐标 求助,已知K1,K2,如何用matlab编程求角度? 谢谢K1,K2,是两条直线的斜率,如何求这两条直线的夹角 MATLAB中有没有求余运算符?是什么,怎么用?顺便问一下在MATLAB编程中,怎么判断一个数为正整数和非正整数?再问,也是在MATLAB编程中,有一个程序分两种情况,一种是有输入量,一种没有输入量,怎么 求助MATLAB编程,怎么编程f(x)=X1^2+4X2-6 x1的范围在-3到3 x2的范围在-4到4~是求这个函数的最小值的~ 求助matlab编程~ matlab编程画出n=0,1,2,3,4,5时的cp与f的关系曲线其余量都已知 VB有一个三位数abc和a 的积为一个四位正整数baac,编程求这一个三位数 试用MATLAB编程创建一个50*50的方阵,要求所有对角线上的元素值为3,对角线右上方的所有元素值为2,对角线试用MATLAB编程创建一个5*5的方阵,要求所有对角线上的元素值为3,对角线右上方的所有元 求matlab编程求解贝塔的最大最小值 用matlab编程,求1到100的和! 用MATLAB,求此矩阵的行列式?如何编程?