信息学奥赛一本通:1157:哥德巴赫猜想

本文介绍了如何通过编程实现哥德巴赫猜想中的一个命题,即大于6的偶数等于两个素数之和。给出了一个C++程序示例,利用is_perim()函数判断素数,gedebahe()函数实现偶数分解。同时提到了哥德巴赫猜想的历史背景和相关证明进展。
摘要由CSDN通过智能技术生成

【题目描述】

哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。

【输入】

(无)

【输出】

分行输出:

例如:

6=3+3

8=3+5

...

(每个数只拆开一次,请保证第一个加数最小)

【输入样例】

(无)

【输出样例】

(无)

【参考程序一】

  • isperim(int n) 函数用于判断一个数是否为素数。它通过从 2 到 sqrt(n) 遍历,如果存在能整除 n 的数,就返回 false,表示不是素数;否则返回 true,表示是素数。
  • gedebahe() 函数中,外层循环从 6 到 100,步长为 2,因为要求的是偶数。内层循环遍历从 2 到当前偶数的一半。
  • 在内层循环中,如果两个数都是素数,就输出这对数。

#include<bits/stdc++.h>
using namespace std;
bool isperim(int n)
{
	for(int i=2;i<=sqrt(n);i++)
	{
		if(n%i==0)
		{
			return false;	
		}
	}
	return true;
}
void gedebahe()
{
	for(int i=6;i<=100;i+=2)
	{
		for(int j=2;j<=i/2;j++)
		{
			if(isperim(j)&&isperim(i-j))
			{
				cout<<i<<"="<<j<<"+"<<i-j<<endl;
				break; 
				} 
		}
	}
}
int main()
{
	gedebahe(); 
	return 0;
}

科普

      1742年,哥德巴赫给欧拉的信中提出了以下猜想:任一大于2的整数都可写成三个质数之和。但是哥德巴赫自己无法证明它,于是就写信请教赫赫有名的大数学家欧拉帮忙证明,然而一直到去世,欧拉也无法证明。

      因现今数学界已经不使用“1也是素数”这个约定,哥德巴赫猜想的现代陈述为:任一大于5的整数都可写成三个质数之和。(n>5:当n为偶数,n=2+(n-2),n-2也是偶数,可以分解为两个质数的和;当n为奇数,n=3+(n-3),n-3也是偶数,可以分解为两个质数的和)。欧拉在回信中也提出另一等价版本,即任一大于2的偶数都可写成两个质数之和。把命题"任一充分大的偶数都可以表示成为一个素因子个数不超过a的个数与另一个素因子不超过b的个数之和"记作"a+b"。1966年陈景润证明了"1+2"成立,即"任一充分大的偶数都可以表示成二个素数的和,或是一个素数和一个半素数的和"。

      从关于偶数的哥德巴赫猜想,可推出:任何一个大于7的奇数都能被表示成三个奇质数的和。后者称为“弱哥德巴赫猜想”或“关于奇数的哥德巴赫猜想”。若关于偶数的哥德巴赫猜想是对的,则关于奇数的哥德巴赫猜想也会是对的。2013年5月,巴黎高等师范学院研究员哈洛德·贺欧夫各特发表了两篇论文,宣布彻底证明了弱哥德巴赫猜想。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芷水无棱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值