华为OJ基础篇-查找组成一个偶数最接近的两个素数

来源:互联网 发布:七子之歌 知乎 编辑:程序博客网 时间:2024/06/05 02:46

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对

bool jgm(int x){    bool f = true;    if (x == 1 || x == 2){        f = true;        return f;    }    for (int i = 2; i < x / 2; ++i){        if (x%i == 0){ f = false; break; }          }    return f;}void HWoj(){    int os = 20;    int num[2] = { 0 };    int s = 0, MIx = os,a=0;    for (int i = 1; i < os; ++i){        a = os - i;        if (jgm(i)&&jgm(a)){            s = abs(a - i);            if (s < MIx){                MIx = s;                num[0] = i;                num[1] = a;            }        }    }    cout << num[0] << '\n' << num[1] << endl;}
0 0
原创粉丝点击