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

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

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

查找最相近的两个素数,即从输入偶数n的1/2为基准向左(小)向右(大)进行查找。
#include <stdio.h>
#include <math.h>

int isPrime(int n)
{
    if(n==2) return 1;
    int i,num;
    num=sqrt(n);
    for(i=2;i<=num;i++)
        if(n%i==0) return 0;
    return 1;
}

int main()
{
    int n,mid,i,j;
    scanf("%d",&n);
    mid=n/2;
    
    for(i=mid;i>1;i--)
        if(isPrime(i)==1)
        {
            for(j=mid;j<n;j++)
                if(isPrime(j)==1)
                {
                    if(i+j==n) {printf("%d\n%d",i,j);break;}
                    else if(i+j<n) continue;
                    else break;
                }
            if(i+j==n) break;
        }    
    return 0;
}

全部评论

相关推荐

HNU_fsq:建议直接出国,这简历太6了。自愧不如
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务