/*
* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者: 刘同宾
* 完成日期:2012 年 11 月 24 日
* 版 本 号:v1.0
* 输入描述:
* 问题描述:验证哥德巴赫猜想。一个不小于6的偶数一定等于两个素数之和。
* 程序输出:
* 问题分析:略
* 算法设计:略
*/
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
void gotbaha(int);
int m;
cout<<"请输入一个不小于六的偶数:"<<endl;
cin>>m;
if(m>=6) //控制输入数字>6
{
gotbaha(m);
}
else
cout<<"输入错误!"<<endl;
return 0;
}
//控制输出的是两素数相加。
void gotbaha(int m)
{
int prime(int);//函数声明
int a,b;
for(a=3;a<=m/2;a=a+2)
{
if(prime(a)) //调用函数
{
b=m-a;
if(prime(b))
{
cout<<m<<"="<<a<<"+"<<b<<endl;
}
}
}
}
//判断是否是素数
int prime(int n)
{
int i,k;
bool prime;
prime=true;
k=int(sqrt(n));
for(i=2;i<=k;i++)
{
if(n%i==0)
{
prime=false;
break;
}
}
if(prime)
return prime;
else
return false;
}
哥德巴赫猜想。
最新推荐文章于 2014-02-28 01:36:31 发布