1. 程式人生 > >1136C/C++經典程式訓練6---歌德巴赫猜想的證明

1136C/C++經典程式訓練6---歌德巴赫猜想的證明

題目描述

驗證“每個不小於6的偶數都是兩個奇素數之和”,輸入一個不小於6的偶數n,找出兩個奇素數,使它們的和為n。

輸入

輸入一個不小於6的偶數n。

輸出

找出兩個奇素數,使它們的和為n。

示例輸入

80

示例輸出

80=7+73
#include<stdio.h>
void even(int x);
int isprime(int x);
void main()
{
int a;
scanf("%d",&a);
if(a%2==0)
even(a);
}
void even(int x)
{
int i;
for(i=2;i<=x-1;i++)
if(isprime(i)&&isprime(x-i))
{printf("%d=%d+%d\n",x,i,x-i);break;}
}


int isprime(int x)
{
int i;
for(i=2;i<=x-1;i++)
if(x%i==0)
return 0;
return 1;
}