百度2011校招笔试算法题二

2、二重哥德巴赫猜想

每个不小于6的偶数都可以表示为两个素数之和

编写一个函数,输出6-100000内所有偶数可以表示为哪两个素数之和,如果一个偶素有多种表示方式,输出任意一种即可。

代码实现(仅供参考):

int ispri(int num)
{
    for(int k=2;k<=num/2;k++)
    {
         if(!num%k) return 0;
    }         
    return 1;
}


void judge(int number)
{
    for(int j=1;j<number;j++)
    {
         if(ispri(j))
         {
             if(ispri(number-j))
             {
                 printf("%s=%s+%s",number,j,number-j);  
                 return;
} } } }
void ouputSum() { for(int i=6;i<100000;i++) { judge(i); } }
原文地址:https://www.cnblogs.com/biyeymyhjob/p/2593998.html