15OJ題——驗證哥德巴赫猜想(素數問題)
阿新 • • 發佈:2019-02-17
/*
* Copyright (c) 2014, 煙臺大學計算機學院
* All rights reserved.
* 檔名稱:test.cpp
* 作 者:李曉凱
* 完成日期:2015年 5 月 20 日
* 版 本 號:v1.0
*
* 問題描述:
* 輸入描述:
* 程式輸出:
*/
題目描述
寫一個程式驗證歌德巴赫猜想:一個不小於6的偶數可以表示為兩個素數的和。提交函式prime即可。
輸入
8
輸出
8=5+3
提示
#include <iostream>#include <cmath>
using namespace std;
int main()
{ int prime(int);
int n,a,b;
cin>>n;
for(a=3;a<=n;a=a+2)
{ if(prime(a))
{ b=n-a ;
if(prime(b)) cout<<n<<"="<<a<<"+"<<b<<endl; } return 0;} } 程式碼:
#include <iostream> #include <cmath> using namespace std; int main() { int prime(int); int n,a,b; cin>>n; for(a=3; a<=n/2; a=a+2) { if(prime(a)) { b=n-a ; if(prime(b)) cout<<n<<"="<<b<<"+"<<a<<endl; } } return 0; } int prime(int x) { int r; if(x==1) return 0; for(int r=2; r<=sqrt(x); ++r) { if(x%r==0) return 0; } return 1; }