验证哥德巴赫猜想
哥德巴赫猜想:任意一个偶数可以写成两个素数之和。
- 先写一个函数如何判断素数
- 主函数中进行调用
- 将输入的数字m分成两部分i(i从2开始)只需要判断输入的数一半是否满足条件即可,另外一个数是m-i
- 判断两个数是否都是素数都满足就输出表达式
#include <math.h>
int suShu(int num);
int main() {
int m;
scanf("%d", &m);
//输入错误的情况
if (m % 2 == 1 || m < 3) {
printf("输入错误\n");
exit(0);
}
for (int i = 2; i < m / 2; i++)
if (suShu(i) && suShu(m - i)) {
printf("%d=%d+%d\n", m, i, m - i);
break; //结束循环
}
return 0;
}
int suShu(int num) {
int i, m = sqrt(num);
for (i = 2; i <= m; i++) //如果这里没有等于下面就要i>=m
if (num % i == 0)break;
if (i > m)
return 1;
else
return 0;
}
98
98=19+79