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

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

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

#include <cstring>
#include<iostream>
#include<math.h>
using namespace std;
bool isss(int n)
{
    int i=0;
    if(n==2||n==1)
        return true;
    for(i=2;i<n;i++)
    {
        if(n%i==0)
            return false;
    }
    return true;
    
}

int main()
{
    int n=0;
    int a=0,b=0;
    int i,j;
    int cha=0;
    int prevcha=0;
    int count=0;
    cin>>n;
    if(n==2)
    {
        cout<<1<<endl<<1<<endl;
        return 0;
    }
    if(n%2==1)
        return 0;
    for(i=1;i<n;i++)
    {
        for(j=1;j<n;j++)
        {
            if(isss(i)&&isss(j)&&i+j==n)
            {
                if(count==0)
                {
                    prevcha=abs(i-j);
                    cha=prevcha;
                    count++;
                    a=i;
                    b=j;
                }
                else
                {
                    prevcha=abs(i-j);
                    if(prevcha<cha)
                    {
                        cha=prevcha;
                        a=i;
                        b=j;
                    }
                 
                }
            }
        }
    }
    if(a>b)
    {
         cout<<b<<endl<<a<<endl;
    }
    else{
         cout<<a<<endl<<b<<endl;
    }
   
    
    
    return 0;
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务