题解 | #查找组成一个偶数最接近的两个素数#
查找组成一个偶数最接近的两个素数
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; } } } }
大厂笔试题题解 文章被收录于专栏
主要是公司笔试题得一些总结