查找组成一个偶数最接近的两个素数
查找组成一个偶数最接近的两个素数_牛客网
https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9?tpId=37&tqId=21283&rp=0&ru=/ta/huawei&qru=/ta/huawei/question-ranking
#从中间开始找的话就是保证两个数差距最小,然后再分别判断两个数是不是质数,就可以了 import math def isPrime(num): for i in range(2,int(math.sqrt(num))+1): if num%i==0: return False return True while True: try: n=int(input()) a=int(n/2) while a<n-2: b=n-a if isPrime(a) and isPrime(b): print(b) print(a) break a+=1 except: break
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int num){
for(int i=2;i<=sqrt(num*1.0);i++){
if(num%i==0)
return false;
}
return true;
}
int main(){
int n;
int res1,res2;
while(cin >> n){
if(n<2)
return 1;
else{
for(int i=1;i<=n/2;i++){
if(isPrime(i) && isPrime(n-i)) {
res1=i;
res2=n-i;//两个数还不能交换,必须这样输出
}
}
cout << res1 << endl;
cout << res2 << endl;
}
}
return 0;
}