1157:哥德巴赫猜想
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 37952 通过数: 22064
【题目描述】
哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。
【输入】
(无)
【输出】
分行输出:
例如:
6=3+3
8=3+5
...
(每个数只拆开一次,请保证第一个加数最小)
【输入样例】
(无)
【输出样例】
(无)
【代码】
#include <stdio.h> #include <math.h> int isprime(int n) { int i,k; k=sqrt(n); for(i=2;i<=k;i++) { if(n%i==0) return 0; } return 1; } int main() { int i,j; for(i=6; i<=100; i+=2) { for(j=2;j<=i/2;j++) { if(isprime(j) && isprime(i-j))//若被分解的两个数皆为素数 { printf("%d=%d+%d\n",i,j,i-j); break; } } } return 0; }