哥德巴赫猜想

描述

写一个函数验证哥德巴赫猜想:一个不小于6 的偶数可以表示为两个素数之和,如6 = 3 + 3,8 = 3 + 5,10=3 +7……在主函数中输入一个不小于6 的偶数 n,然后调用数 gotbaha,在 gotbaha 函数中再调用 prime 函数,prime 函数的作用是判别一个数是否素数。在 godbah 函数中输出以下形式的结果:

34 =3+31

输入

输入一个不小于6 的偶数

输出

输出一个式子

输入样例 1 

34

输出样例 1

34=3+31
#include <iostream>
using namespace std;
void gotbaha(int);        //函数gotbaha的外部声明
int main()
{
	int n;
	cin >> n;         //输入一个不小于6的偶数,可以在程序中设定这一输入条件(不小于6且为偶数),但本程序中没有设定
	gotbaha(n);       //调用函数gotbaha来验证哥德巴赫猜想
	return 0;
}

void gotbaha(int a)           //函数定义
{
	int prime(int b);         //判断素数的内部函数声明
	int i, j;
	for (i = 2; i < a; i++)       //从第一个加数开始遍历
	{			
		j = a - i;
		if (prime(i)&&prime(j))         //判断遍历到的第一个加数和运算得出的第二个加数是否为素数
		{
			cout << a << "=" << i << "+" << j;
			break;
		}
	}
}

int prime(int b)         //判别一个数是否为素数
{
	int k=1;             //当b=2时,k为1,则不需要进入下面的循环
	for (int i = 2; i < b; i++)
	{
		if (b % i != 0)k = 1;
		else                        //如果出现可以整除的情况则不是素数
		{
			k = 0;
			break;
		}
	}
	return k;          //返回1或者0,if判断语句只有在括号内为非0值时才会继续运行if语句中的代码
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值