matlab如何对100进行质数分解?

如题所述

    % 主函数 function test() x = []; for i=1:100 flag = isprime(i); if flag x = [x,i]; end end disp('1-100之间的质数有:'); x end % 子函数 function out = isprime(n) flag = 1; for i=2:ceil(sqrt(n)) if mod(n,i)==0 flag = 0; break; end...

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-10
%%方案1
function list = prime( C )
%例如:C=1200,则list=[2 2 2 2 3 5 5];
list=[];
stp=2;
for i=2:C
    if mod(C,stp)==0
        list(end+1)=stp;
        C=C/stp;
    else
        stp=stp+1;
    end
end
end


%%%方案2%%%
function list = prime( C )
list=[];
stp=2;
while ~isprime(C)
%%因为不清楚方案1里面枚举量不足,我没数学证明
%%所以也可以直接用内置的判断是否为质数的函数,isprime,来判断C是否已经质因数分解完了
    if mod(C,stp)==0
        list(end+1)=stp;
        C=C/stp;
    else
        stp=stp+1;
    end
end
%% 因为分解完了上面的C就变成了质数,需要把最后这个质数添加到list里面就好啦~
list(end+1)=C;


end

用matlab将一个100以内的正整数分解为质因数的乘积
factor();就可以了.如:>> factor(100)ans = 2 2 5 5

谁会用MATLAB编写程序,求100以内的质数!!!……求详细过程
function test()x = [];for i=1:100 flag = isprime(i);if flag x = [x,i];end end disp('1-100之间的质数有:');x end 子函数 function out = isprime(n)flag = 1;for i=2:ceil(sqrt(n))if mod(n,i)==0 flag = 0;break;end end out = flag;end ...

输出100~200之间的素数。帮忙解释下面的伪代码含义。
回答:MOD 其实是MATLAB中的一个函数 输入参量X、Y应为整数,此时返回余数X -Y.*floor(X.\/Y),若Y≠0,或者是X。若运算数x与y有相同的符号,则mod(X,Y)等于rem(X,Y)。总之,对于整数x,y,有:mod(-x,y) = rem(-x,y)+y。若输入为实数或复数,由于浮点数在计算机上的不精确表示,该操作将...

用matlab实现:统计1-100中有多少偶数、奇数以及质数,输出结果?
回答:先分开,在统计、、、嘿嘿你还费解不???

用matlab自编程序找出1到100中的质数,并把所有质数放到一个向量中_百...
主函数function test()x = [];for i=1:100flag = isprime(i);if flagx = [x,i];endenddisp('1-100之间的质数有:');xend% 子函数function out = isprime(n)flag = 1;for i=2:ceil(sqrt(n))if mod(n,i)==0flag = 0;break;endendout = flag;end ...

怎样用matlab求出一个整数是质数
1、打开电脑,进入这个软件中,就会看到以下画面,这是软件的主页面。2、进入软件中,可以使用以下代码来进行求素数的过程,就会看到以下画面。在命令窗口中输入下列命令,>> prime(80) %回车,就如下图所示一样。3、点击回车之后,就会看到以下画面,这个就求出素数的样子了,这样就解决了。

用matlab求100-1000内的素数,并求所有素数的和及平均值,下面的程序不是...
当找到有能整除的情况直接跳出while,下面的if语句也通不过,直接就来到for循环,判断下一个数是否为素数。当执行完while都没有找到整除,那么此时flag不会被置为0,if语句通过,把素数保存在一个矩阵prime中,打印结果,n是用来计数的告诉你这是第几个素数。

怎样在matlab中编制一个命令式文件,计算100以内质数之和。
将下面内容保存为primesum.m,保存到MATLAB当前工作目录下,在command window里输入primesum,回车。a=0;for i=1:100 if isprime(i)a=a+i;end end a

matlab写出1000以内的质数
详情请查看视频回答

matlab求1到10000的素数的个数,用promises函数来写
质数(prime number)又称素数,有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。根据素数的定义,可以编程得到1到10000的素数的个数。实现方法:>> promises(10000)运行结果及代码 1到10000的素数的个数是1229 prime 2 3 。。。

相似回答