欧拉计划 问题十 学习笔记 MATLAB 求1到2000000之间质数和

Problem 10

The sum of the primes below 10 is 2 + 3 + 5 + 7 = 17.

Find the sum of all the primes below two million

问题:求1到2000000之间质数和

思路

  1. 先判断质数
  2. 质数求和

代码

%% 10
i=1000000:2000000; %1到两百万
k=isprime(i);%判断是否为质数 返回为1/0
k1=find(k);%找到是质数的位置
p=i(k1)%把新的质数i放到p矩阵中
sum(p)%求和

答案

Answer: 142913828922

日常PS:直接1到两百万求,出来是1.4291e+11这种形式,用问题二中的试一下

format long g
ans = 142910000000

不行,后面直接分两段算,先算1到一百万质数和(37550402023),再算一百万到两百万质数和(105363426899),二者相加。

你可能感兴趣的:(欧拉计划 问题十 学习笔记 MATLAB 求1到2000000之间质数和)