1. 程式人生 > >15OJ題——驗證哥德巴赫猜想(素數問題)

15OJ題——驗證哥德巴赫猜想(素數問題)

/*
 * 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;
}