C++课程作业1
第一题 哥德巴赫猜想,任意一个大于等于6的偶数可以分解为两个素数之和
#include<iostream>
#include<vector>
using namespace std;
using std::vector;
//先定义两个函数的类型
bool PrimeFunction(int num);
int CorrectInt(int cInteger);
int main()
{
int integer
int primeNum1 =1
int primeNum2
vector < vector <int> > primeList2;
cout<<"请输入任何一个大于6的正偶数:"<<endl;
cin>>integer;
integer =CorrectInt(integer);//用函数判断输入是否正确
cout<<"请稍等……"<<endl;
for(; primeNum1<=integer/2;)
{
primeNum2 = integer-primeNum1;
if(PrimeFunction(primeNum1)&& PrimeFunction(primeNum2))
{
vector<int> primeList1;
primeList1.push_back(primeNum1);
primeList1.push_back(primeNum2);
primeList2.push_back(primeList1);
}
primeNum1= primeNum1+2; }
if(primeList2.size()!=0)
{
cout<<"该素数可分解为"<<primeList2.size()<<"组。"<<endl;
cout<<"该素数分解为:"<<endl;
for(int j=0; j<primeList2.size(); j++)
{
cout<<integer<<"="<<primeList2[j][0]<<"+"<<primeList2[j][1]<<endl;
}}
else
{
cout<<integer<<"不能分解为两素数之和,恭喜你证明了哥德巴赫猜想是错的!"<<endl;
}
return 0;
}
int