文章
10
粉丝
22
获赞
2
访问
4.3k
#### 有坑,题目的测试数据应该是要求一个数只能用一次,所以这里要借助一个标志位判断一下:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool is_prime(int n)
{
if (n < 2) return false;
for (int i = 2; i <= n / i; i ++)
if (n % i == 0) return false;
return true;
}
vector<int> prime;
vector<int> res;
bool used;
int main()
{
int a, b;
cin >> a >> b;
for (int i = a; i <= b; i ++)
{
if (is_prime(i)) prime.push_back(i);
}
for (int i = 1; i + 1< prime.size(); i ++)
{
if (!used)
{
res.push_back(prime[i - 1]);
res.push_back(prime[i]);
}
else
{
i ++;
res.push_back(prime[i - 1]);
res.push_back(prime[i]);
used = false;
}
int u = prime[i] - prime[i - 1];
while(i + 1 < p...
登录后发布评论
暂无评论,来抢沙发