【题目描述】
哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。
【输入】
(无)
【输出】
分行输出:
例如:
6=3+3
8=3+5
...
(每个数只拆开一次,请保证第一个加数最小)
【输入样例】
(无)
【输出样例】
(无)
#include<iostream> #include<cmath> using namespace std; bool judge(int x); int main() { int x; int i; for(x=6; x<=100; x+=2) for(i=2; i<=x/2; i++) if(judge(i)&&judge(x-i)) { cout<<x<<"="<<i<<"+"<<x-i<<endl; break; } return 0; } bool judge(int x) { int i=2; while( i<=floor(sqrt(x)) && (x%i!=0) ) i++; if(i>floor(sqrt(x))) return true; return false; }

浙公网安备 33010602011771号