class BinInsert {
public:
int binInsert(int n, int m, int j, int i) {
// write code here
return n | (m << j);
}
};
这道题,思路很明确,第一步找到素数,然后找出素数对 差最小的一对
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
//素数判断
bool isPrime(int n)
{
for (int i = 2; i <= sqrt(n); i++)
{
if (n % i == 0)
return false;
}
return true;
}
int main()
{
int Num = 0;
while(cin >> Num)
{
vector<int> arr;
//只需遍历一半,避免重复
for (int i = 1; i <= Num / 2; i++)
{
if (isPrime(i) && isPrime(Num - i))
{
arr.push_back(i);
arr.push_back(Num - i);
}
}
//越晚插入,离平均数越近,素数对越近
cout << arr[arr.size() - 2] << endl;
cout << arr[arr.size() - 1] << endl;
}
return 0;
}