1. 程式人生 > >C——任意一個偶數分解兩個素數

C——任意一個偶數分解兩個素數

題目:一個偶數總能表示為兩個素數之和 以上例項執行輸出結果為: 請輸入一個偶數: 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; }