1.题目描述
2.解题思路:
本题和我我以前写的1007素数对猜想这道题找素数的方法相同,这里就不再解释了,大家可以点击上面的链接。这里需要注意的是:定义的数组长度一定要足够大,还有就是第10000个素数是104729,所以寻找的范围也要很大。找出的每个素数存入数组p中,然后从第M到第N按照要求的格式输出所有素数。
3.完整代码
#include<iostream>
#include<math.h>
using namespace std;
int main(){
int M,N;
cin >> M >> N;
int p[100000];
int j=0,flag=0;
for(int i=2;i<1000000;i++){ //这里的范围一定要足够大
int len = (int)sqrt(i);
int k=2;
while(k<=len){
if(i%k==0) break;
k++;
}
if(k>len){
p[++j]=i;
}
}
for(int s=M;s<=N;s++){
if(flag==1) cout << " ";
cout << p[s];
flag=1;
if((s-M+1)%10==0){
cout << endl;
flag=0;
}
}
}
如果觉得有所帮助,还请支持一下作者哦,谢谢!!