#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;
}
Any even number greater than 2 can be represented by the sum of two prime numbers, program to find out which prime numbers can be represented by even number n
Guess you like
Origin blog.csdn.net/Genius_bin/article/details/112252139
Recommended
Ranking