matlab求前n个素数

用matlab怎样求前n个素数,以及1~10000之间素数的个数之和!

素数就是只能被1和本身整除的整数。j依次为1到10000之内的整数(每次循环+1),i为从2到j-1的依次+1的整数,判断j能否被i整除,若都不能则j即为素数,记下统计数,并判断统计数是否小于n,如果大于n则结束循环。否则将素数相加。

求解前n个素数代码:

%% 求解前n个素数
n = 50;
ii = 0;  % 素数个数初始值
X = [];
x = 2;
while ii < 50
     if isprime(x)
         X = [X x];
         ii = ii+1;
     end
     x = x+1;
end
disp(['前' num2str(n)  '个素数为'])
disp(X)

结果:


前50个素数为
  列 1 至 24

     2     3     5     7    11    13    17    19    23    29    31    37    41    43    47    53    59    61    67    71    73    79    83    89

  列 25 至 48

    97   101   103   107   109   113   127   131   137   139   149   151   157   163   167   173   179   181   191   193   197   199   211   223

  列 49 至 50

   227   229

求解前10000素数之和代码:

%% 前10000素数之和
N = 1:10000;
X = N(isprime(N));
S = sum(N)        % 素数之和

结果:

S =

    50005000