题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
http://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9
- 看注释即可
#include<bits/stdc++.h>
using namespace std;
//isPrime:判断一个数后是否是素数的标准是看除了1和它本身是否有其它数可以作为它的因数,有的话就不是返回false
bool isPrime(int n){
for(int i = 2; i<=n-1;i++){
if(n%i==0){
return false;
}
}
return true;
}
int main(){
int a;
while(cin>>a){
//从中间n/2向两侧遍历,找到第一组和为n的素数组合就打印即可,一定注意要加break,不然会继续遍历打印其它素数组合
for(int i = a/2; i>=2; i--){//素数范围内进行遍历
if(isPrime(i)&&isPrime(a-i)){//确保加起来依然是a
cout<<i<<endl;
cout<<a-i<<endl;
break;//打出第一个一定是差最小的,注意break;
}
}
}
}大厂笔试题题解 文章被收录于专栏
主要是公司笔试题得一些总结
查看9道真题和解析