验证哥德巴赫猜想,任何一个大于等于6的偶数均可表示为两个素数之和,例如6=3+3,8=3+5,...,18=5+13.要求将输入的一个偶数表示成两个素数之和,试编写相应程序
从2开始累加遍历找出所有满足条件的数
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//判断素数
int isprime(int n)
{
int i;
if (n < 2) return 0;
for (i = 2; i < n; i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
int main()
{
int n;
int i;
printf("请输入大于等于6的偶数:");
scanf("%d", &n);
for (i = 2; i < n; i++)
{
if (isprime(i) && isprime(n - i))
{
printf("%d = %d + %d", n, i, n - i);
break;
}
}
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!