wdjh.net
当前位置:首页 >> MATLAB 随机 素数 >>

MATLAB 随机 素数

p=[10000,20000];%10000到20000之间取素数 a=primes(p(1));%小于10000的素数 b=primes(p(2));%小于20000的素数 c=setxor(a,b);%10000到20000之间的素数 m=round(1+(numel(c)-1)*rand());%素数的随机序号 x=c(m)%x为所求

matlab里有一个函数isprime,是用来判断一个数a是不是素数。x=isprime(a),如果a是素数则x等于1,否则等于0;你要是求素数的话用一个for语句就行了,给你写了个m文件,求1到n之间所有素数。 实现代码如下: isprime(int i) %是用来判断一个数...

clear t=1; for i=1:100 for j=1:i if (round(i/j)==(i/j)&j~=1&j~=i) break end end if j==i s(t)=i; t=t+1; %disp(['素数:',num2str(i)]) end end disp(['素数:',num2str(s)])

// 打印1-100之间的所有素数 //素数是除了1与本身之外没有其他约数的数(1除外),即从2开始到i-1; //标记是素数 boolean flag=true; for(int i=2;i

知道你意思了,这是函数文件,需要在command运行窗口输入,但文件名一定是函数名才可以,本文件名为:sushu.m 。command窗口输入过程如下: n=7 sushu(n) 函数程序可运行,但结果错误,修改如下(有解释部分): function [t]=sushu(n) k=floor(...

function f= is_prime(n) f = 1; n = uint16(n); if n

改完的如下: clear all disp('10000以内全体素数:') count=0; for i=2:10000 j=2; % 每次外循环,j都要从头再来,所以要拿到外循环里。 k=sqrt(i); while j if rem(i,j)==0 break else j=j+1; end if j>k fprintf('%5d',i) % 给你改成%5d了,要...

function b=sushu(a) %求1-a之间的所有素数,a为整数 k=1; for i=1:a; flag=0; for j=1:i if i/j==round(i/j) flag=flag+1; end end if flag==2 b(k)=i; k=k+1; end end 这是我自己编的一个求素数的程序,你应该会用吧?

参考代码: N=randi(100,1,50)M=N(isprime(N))M=sort(M,'descend')sum(M) 某次运行结果(有随机数,每次运行结果不同): >> N=randi(100,1,50)N = Columns 1 through 9 80 81 6 41 97 42 34 64 86 Columns 10 through 18 79 54 75 74 45 86 50 ...

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com