2、用Matlab实现:统计1~100中有多少个偶数、奇数以及质数,输出结果。

完全菜鸟,请高手给个详细答案!!!谢谢!

>>a=primes(100)%%输出1-100之间的素数也就是质数
a =
Columns 1 through 23
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83
Columns 24 through 25
89 97
>> na=length(a)%%得到质数的个数
na =
25
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> x=1:100;
>> b=0;c=0;%%
>> xx=mod(x,2);%%对x求余,即x除以2的余数
>> for i=1:100
if xx(i)==1
b=b+1;%%奇数个数累计
else
c=c+1;%%偶数个数累计
end
end
b
c
b =
50
c =
50
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-01
x=1:1:100;
k=0;
for i=1:1:100
if (floor(x(1,i)/2)==x(1,i)/2);
k=k+1;
else
k=k;
end
end
oushu=k;%偶数
jishu=100-k;%奇数
%质数很麻烦哦,可能要逐个除
x=1:1:100;
a=0;

s=(size(x));
for i=1:1:s(1,2)/2
k=0;
for j=3:1:floor(((x(1,(2*i-1)))^0.5));

if floor(x(1,(2*i-1))/j)==(x(1,(2*i-1))/j);
k=k+1;
else
k=k;
end
end
if (k==0);
a=1+a;
else
a=a;
end
end
a+1%质数
第2个回答  2011-04-01
clear all
N=100;
J=1;
O=0;
Z=1;
for i=2:100
if mod(i,2)==1
J=J+1;
else
O=O+1;
end
for j=2:(i-1)
if mod(i,j)==0
break;
end
if j==(i-1)
Z=Z+1;
end
end
end本回答被提问者采纳