题目链接:点击打开链接
题目大意:略。
解题思路:略。
AC代码
#include<bits/stdc++.h>
#include<cmath>
#define mem(a,b) memset(a,b,sizeof a);
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
int isPrime(int x)//判断是否是素数
{
for(int i=2;i<=sqrt(x);i++)
if(x%i==0) return 0;
return 1;
}
int main()
{
// 打表
// for(int i=2;;i++)
// {
// if(isPrime(i)) v.push_back(i);
// if(v.size()>=10000)
// {
// printf("%d\n",i); break;
// }
// }
int m,n,cnt=0;
vector<int> v;
scanf("%d%d",&m,&n); // 5:2、3、5 第5个素数:5
for(int i=2;i<110000;i++) // 区别:10000以内的素数 和 第10000个素数
{
if(isPrime(i)) v.push_back(i);
// if(v.size()>=10000) break;
}
for(int i=m-1;i<n-1;i++)
{
cnt++;
if(cnt%10==0)
printf("%d\n",v[i]);
else
printf("%d ",v[i]); //从第m个数字开始输出到n-1个数字
}
printf("%d\n",v[n-1]); //输出最后一个数字
return 0;
}