C++证明哥德巴赫猜想:任意两个大于等于4的偶数都能被两个质数分解

格式:要求输入一个偶数,你负责找出所有能够分解质数解。
如6 = 3+3

#include<iostream>
using namespace std;

// 判断是否为质数  num为传入的要判断的数
bool isPrime(int num)
{
	if (num == 2)
		return true;
	bool flag = true;
	for (int i = 2; i <= num / 2+1; i++)
	{
		if (num % i == 0)
		{
			flag = false; break;
		}
	}
	return flag;
}

int main()
{
	int even;	// 偶数
	cout << "输入>=4的偶数:\t";
	
	while (cin >> even && even!=0)		// 可以一直输入判断,直到你将even赋值为0
	{
		// 要证明a + b = even;
		for (int a = 2; a <= even / 2 + 1; a++)
		{
			if (isPrime(a))
			{
				int b = even - a;
				if (isPrime(b))
					cout << "就决定是你了!\t" << a << "+" << b << "=" << even << endl;
			}
		}
	}
	system("pause");
}

真的是献丑了,已经半年不做算法题了,水平已为菜鸡。碰到一个外省其他专业同学问我这题…还好不难。

发布了131 篇原创文章 · 获赞 81 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_43469047/article/details/103328168
今日推荐