哥德巴赫猜想:任一大于2的偶数都可写成两个素数之和。
如: 20=13+7
44=13+31
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main(){
//求100以内的素数
int arr[100];
int i,j,k=0;
for ( i = 2; i <= 100; i++) {
for ( j = 2; j <= sqrt(i); j++) {
if (i % j == 0) {
break;
}
}
if (j > sqrt(i)) {
//将100以内的素数存入数组arr中
arr[k] = i;
k++;
}
}
//验证哥德巴赫猜想
int n = 0;
printf("请输入一个偶数(2<n<=100):\n");
scanf("%d", &n);
printf("猜想证明:\n");
for (int i = 0; i < k; i++) {
for (int j = 0; j < k; j++) {
if (n == arr[i] + arr[j]) {
printf("%d=%d+%d\n", n, arr[i], arr[j]);
}
}
}
return 0;
}
测试:
输入20
输入44