题解 | #查找组成一个偶数最接近的两个素数#

查找组成一个偶数最接近的两个素数

https://www.nowcoder.com/practice/f8538f9ae3f1484fb137789dec6eedb9

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

bool isPrime(int n){
    for(int i = 2; i <= sqrt(n);i++)
      if(n % i == 0)
        return false;
    return true;
}

int main() {
    int n;
    scanf("%d",&n);

    int res[n][2];
    int k = 0;
    memset(res, 0, sizeof(res));
    for(int i = 2;i < n;i++){
        if(isPrime(i) && isPrime(n - i)){
            res[k][0] = i;
            res[k][1] = n - i;
            k++;
        }
    }

    int temp,diff;
    diff = abs(res[0][0] - res[0][1] );

    for(int i = 0;i < k;i++){
        if(abs(res[i][0] - res[i][1]) < diff){
        	diff = abs(res[i][0] - res[i][1]);
            temp = i; 
        }
    }

    if(res[temp][0] > res[temp][1]){
        printf("%d\n%d",res[temp][1],res[temp][0]);
    }else {
        printf("%d\n%d",res[temp][0],res[temp][1]);
    }
}

全部评论

相关推荐

LXXXXd:有点杂,想搞自动化的话没必要把法律的经历写上去
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务