
#include <stdio.h>
#include <math.h>
int main(){
int M,N;
scanf("%d %d\n",&M,&N);
int cnt = 0;
int j = 0;
for(int i = 2;cnt < N; i++){//当cnt取N时,计数为第N+1个素数
if(IsPrime(i) == 0){//这里方法较多,可自行选择
cnt++;
if(cnt >= M){
printf("%d",i);
j++;
if(j%10 == 0){
printf("\n");
}
else if(cnt != N){
printf(" ");
}
}
}
}
return 0;
}
//判断是否为素数,素数输出0,非素数输出1
int IsPrime(int t){
int i,flag = 0;
for(i = 2; i <= sqrt(t);i++){
if(t%i == 0){
flag = 1;
break;
}
}
if(flag == 1){
return 1;
}
else{
return 0;
}
}
难点:
1、素数判断
2、换行操作
该博客展示了一个C++程序,用于找出并打印从第M个到第N个素数。程序首先定义素数判断函数IsPrime(),然后通过循环和计数机制找到并输出指定范围内的素数。每打印10个素数后,程序会在输出中添加一个换行符。
1893

被折叠的 条评论
为什么被折叠?



