ep3_7.cpp

来自「这里有大量的c语言习题呢!真的是题海哦」· C++ 代码 · 共 26 行

CPP
26
字号
/*3.7 歌德巴赫猜想指出:任何一个充分大的偶数都可以表示为两个素数之和。例如:
4=2+2   6=3+3   8=3+5  … …   50=3+47
将4 50之间的所有偶数用两个素数之和表示。判断一个整数是否为素数用函数完成。
*/
#include<iostream>
#include<cmath>
using namespace std;

bool prime(int m){
	if(m==1||m==0) return false;
	if(m==2) return true;
	int k=(int)sqrt(m);
	for(int i=2;i<=k;i++)//穷举法
		if(m%i==0) break;
	if(i>k) return true;
	else return false;
}

int main(){
	for(int n=4;n<=50;n+=2){
		for(int i=2;i<=n/2;i++)
			if(prime(i)&&prime(n-i)) cout<<n<<'='<<i<<'+'<<n-i<<endl;//列出所有可能组合
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?