#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int a, b, c, d = 0;
scanf("%d", &a);
for (b = 3; b <= a / 2; b += 2) //先寻找一个素数b
{
// 使用 c <= sqrt(b)做条件而不是c <= b做条件是因为这样可以使循环速度更快,节约时间
for (c = 2; c <= sqrt(b); c++)
{
if (b % c == 0) //b不是一个素数
break;
}
if (c > sqrt(b)) //b是素数
d = a - b; //另一个加数d
else
break;
//判断d是否为素数
for (c = 2; c <= sqrt(d); c++)
{
if (d % c == 0)
break;
}
if (c > sqrt(d))
printf("%d = %d + %d\n", a, b, d);
}
system("pause");
return 0;
}
【C语言】一个不小于6的偶数总能表示为两个素数之和
最新推荐文章于 2023-03-18 19:55:16 发布