文章
13
粉丝
120
获赞
4
访问
15.2k
在素数上加了一些限制,只需要在筛选质数的时候加上一些限制条件即可
限制条件
auto cal = [&](int x) -> bool
{
if(x < 2 or x%10 != 1)return false;
for(int i = 2;i < x;i++)
{
if(x % i == 0)return false;
}
return true;
};
输出的需要注意的地方,最后一个不能留空,空的时候输出-1
if(!vec.size())
{
cout << -1;
return;
}
for(int i = 0;i<vec.size();i++)
{
cout << vec[i];
if(i!=vec.size()-1)cout << " ";
}
AC代码
void slove()
{
auto cal = [&](int x) -> bool
{
if(x < 2 or x%10 != 1)return false;
for(int i = 2;i < x;i++)
{
if(x % i == 0)return false;
}
return true;
};
cin >> n;
vector<int> vec;
lp(i,3,n-1)
{
if(cal(i))vec.push_back(i);
}
if(!vec.size())
{
cout << -1;
return;
}
for(int i = 0;i<vec.size();i++)
{
cout << vec[i];
if(i!=vec.size()-1)cout << " ";
}
}
登录后发布评论
暂无评论,来抢沙发