#include <stdio.h>
#include <stdbool.h>
int main(void)
{
int n, m, i, k;
int max,min;
printf("Please input the max:");
scanf_s("%d", &max);
printf("Please input the min:");
scanf_s("%d", &min);
while (min % 2 == 1)
{
printf("Please again:");
scanf_s("%d", &min);
}
for (; min <= max; min += 2)
{
for (n = 2; n <= min; ++n)
{
bool prime = true;
bool prime2 = true;
for (i = 1; i * i <= n; ++i)
{
if (n % i == 0 && i != 1)
prime = false;
}
if (prime)
{
m = min - n;
for (k = 1; k * k <= m; ++k)
{
if (m % k == 0 && k != 1)
prime2 = false;
}
}
if (prime && prime2 && m != 1 && n <= m)
printf(" %d = %d + %d\n", min, n, m);
}
}
return 0;
}
通过输入最大最小值部分实现哥德巴赫猜想:即两个任意一个大于二的偶数都可用两个素数相加得到。
最新推荐文章于 2024-08-14 17:18:35 发布