用MATLAB找出10000 以内所有素数(质数)并Q求和.

2024-11-25 17:55:55
推荐回答(2个)
回答1:

a=[1:10000];

b=a(isprime(a));

Q=sum(b); %Q= 5736396

例如:

要找素数

clear all;clc;

a=1:10000;

b=isprime(a);

a=b.*a;

a(a(1,:)==0)=[];

size(a)

ans =

1 1229

扩展资料:

1、如果 为合数,因为任何一个合数都可以分解为几个素数的积;而N和N+1的最大公约数是1,所以不可能被p1,p2,pn整除,所以该合数分解得到的素因数肯定不在假设的素数集合中。因此无论该数是素数还是合数,都意味着在假设的有限个素数之外还存在着其他素数。所以原先的假设不成立。也就是说,素数有无穷多个。

2、其他数学家给出了一些不同的证明。欧拉利用黎曼函数证明了全部素数的倒数之和是发散的,恩斯特·库默的证明更为简洁,哈里·弗斯滕伯格则用拓扑学加以证明。

参考资料来源:百度百科-质数

回答2:

a=[1:10000];
b=a(isprime(a));
Q=sum(b); %Q= 5736396