作业帮 > 综合 > 作业

matlab中p(n)=[];是什么意思?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 08:50:32
matlab中p(n)=[];是什么意思?
m=input('m=');
p=2:m;
for i=2:sqrt(m)
n=find(rem(p,i)==0&p~=i);
p(n)=[]; %……
end
p
中间的那行 p(n)=[];
将p(n)置空,n为找出的一系列位置.实际上就是将那些位置上的数据删除
方法是最简单的素数筛法
再问: 置空?是没了吗?p(n)里面是什么?
再答: 是没了, n=find(rem(p,i)==0&p~=i);是找到除i为0的数字但i本身除外 如i=2是n=[4,6,8,.....] 此时p(n)=[] 就是将原第4,6,8位删除 全部循环后p中保存的是1到m的素数(但好像1没有删除掉)