C——任意一个偶数分解两个素数

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41264055/article/details/82960927

题目:一个偶数总能表示为两个素数之和
以上实例运行输出结果为:
请输入一个偶数:
4
偶数4可以分解成1和3两个素数的和

#include <stdio.h>
#include <stdlib.h>
int Isprimer(int n);
int main()
{
    int n,i;
    do{
        printf("请输入一个偶数:\n");
        scanf("%d",&n);
    }while(n%2!=0);

    for(i=1;i<=n/2;i++){
        if(Isprimer(i)&&Isprimer(n-i))
            printf("偶数%d可以分解成%d和%d两个素数的和\n",n,i,n-i);
    }
    return 0;
}

int Isprimer(int n){
    int i;
    if(i<4) return 1;
    else if(n%2==0) return 0;
    else {
        for(i=3;i<=sqrt(n);i++)
            if(n%i==0)return 0;

    }
    return 1;
}

猜你喜欢

转载自blog.csdn.net/qq_41264055/article/details/82960927