C——任意一個偶數分解兩個素數
阿新 • • 發佈:2018-12-14
題目:一個偶數總能表示為兩個素數之和 以上例項執行輸出結果為: 請輸入一個偶數: 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;
}