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

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

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

#include<stdio.h>
int main(){
    int n=0,i,j,left,right,count=0;
    int su_left[100]={0},su_right[100]={0},cha[100]={0};
    scanf("%d",&n);
    //找组成偶数的2个素数(有很多种情况)
    for(left=2;left<=n/2;left++){  //判断左加数是不是素数
       for(i=2;i<left;i++){
           if(left%i==0) //左加数是素数就停止
               break;
       }
        if(i==left){ //左加数是素数
          right=n-left; 
         for(j=2;j<right;j++){ //判断右加数是不是素数
             if(right%j==0) //右加数是素数就停止
                 break;
         }
            if(j==right){ //右加数是素数
                su_left[count]=left;
                su_right[count]=right;
                cha[count]=right-left;
                count++;
            }
        }
    }
    //找最小差值对应的两个素数
    int min=cha[0],pos=0;
    for(i=1;i<count;i++){
        if(cha[i]<min){
            min=cha[i];
            pos=i;
        }
    }
    //输出
    printf("%d\n%d",su_left[pos],su_right[pos]);
}
全部评论

相关推荐

11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务