#include "stdio.h"
void IsPrime(int* p,int n)
{
for (int i = 0; i < n; i++) //初始化数组为0
p[i] = 0;
for (int i = 2; i < n; i++) //厄拉多塞筛选法找出素数
{
if (p[i] == 0) {
for (int j = i + i; j < n; j += i)
p[j] = 1;
}
}
}
void PrimeAnd(int * p,int n)
{
for (int i = 2; i <= n / 2; i++)
{
if (p[i] == 0&&p[n-i]==0)
{
printf("%d+%d=%d\n",i,n-i,n);
}
}
}
int main()
{
int n;
printf("请输入一个偶数:\n");
scanf("%d", &n);
int* p = (int*)malloc(n * sizeof(int));
IsPrime(p,n);
PrimeAnd(p, n);
return 0;
}
任何一个大于2的偶数均可以用两个素数的和表示,编程求出偶数n能用哪些素数表示
最新推荐文章于 2023-07-22 11:04:41 发布