搜索
您的当前位置:首页正文

SDUT-1136 C/C++程序训练6---歌德巴赫猜想的证明

来源:好走旅游网

Code
#include <stdio.h>
#include <math.h>

int isPrime(int x)
{
    int i;
    for(i=2; i<=sqrt(x); i++)
    {
        if(x % i == 0)
            break;
    }
    if(i > sqrt(x))
        return 1;
    else
        return 0;
}

int main()
{
    int n,i;
    scanf("%d",&n);
    for(i=3; i<n; i++)
    {
        if(isPrime(i) && isPrime(n-i))
        {
            printf("%d=%d+%d\n",n,i,n-i);
            break;
        }
    }
    return 0;
}
反思:前期学习函数时卡得比较久的一道题,其实明白后很简单,写一个判断素数的函数,将n拆成两个数,第一个数从3开始遍历,每次都判断i和n-i是否为素数,如果找到一组素数之和为n就输出,因为只要输出第一个小的素数组,所以跑一遍即可。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top