题目
以下Matlab程序的运行结果是()。m=4;p=2:m;for i=2:sqrt(m)n=find(rem(p,I)==0&p~=i);p(n)=[];endpA. p=3 4B. p=2 3 4C. p=2 4D. p=2 3
以下Matlab程序的运行结果是()。m=4;p=2:m;for i=2:sqrt(m)n=find(rem(p,I)==0&p~=i);p(n)=[];endp
A. p=3 4
B. p=2 3 4
C. p=2 4
D. p=2 3
题目解答
答案
A. p=3 4
解析
步骤 1:初始化变量
程序首先定义了变量m=4,然后定义了p=2:m,即p=[2 3 4]。
步骤 2:循环遍历
程序通过for循环遍历从2到sqrt(m)的数,即从2到2。在循环中,首先计算p中能被当前循环变量i整除且不等于i的索引,然后将这些索引对应的元素置为0。
步骤 3:更新p
在循环结束后,p中被置为0的元素将被删除,得到最终的p。
程序首先定义了变量m=4,然后定义了p=2:m,即p=[2 3 4]。
步骤 2:循环遍历
程序通过for循环遍历从2到sqrt(m)的数,即从2到2。在循环中,首先计算p中能被当前循环变量i整除且不等于i的索引,然后将这些索引对应的元素置为0。
步骤 3:更新p
在循环结束后,p中被置为0的元素将被删除,得到最终的p。