当前位置:首页 > 题解目录 > 正文内容

哥德巴赫猜想

亿万年的星光5年前 (2021-01-28)题解目录2522

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

【输入描述】

【输出描述】
分行输出
例如:6=3+3
8=3+5

(每个数只拆开一次,请保证第一个加数最小)
【输入样例】

【输出样例】

#include<iostream>
#include<cmath>
using namespace std;
bool judge(int x);
int main()
{
   int x;
   int i;
   for(x=6; x<=100; x+=2) //枚举6-100的偶数
       for(i=2; i<=x/2; i++) //将x分解为i与x-i两个数
           if(judge(i)&&judge(x-i))//若被分解的两个数皆为素数
           {
               cout<<x<<"="<<i<<"+"<<x-i<<endl;//输出
               break;//终止循环
           }
   return 0;
}
bool judge(int x)//判断素数
{
   int i=2;
   while( i<=floor(sqrt(x)) && (x%i!=0) )
       i++;
   if(i>floor(sqrt(x)))
       return true;
   return false;
}


    扫描二维码推送至手机访问。

    版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

    分享给朋友:

    相关文章

    【题解】滚动的榜单

    【题目描述】某比赛的成绩,是依次出现的,而每个选手的成绩依次公布的时候,榜单都会刷新一遍,就能看到该选手在当前榜单加入时,所在的名次。下面给出了榜单选手的成绩,这里想知道,对于某个选手,求该选手在加入...

    【题解】奇偶校验

    【题目描述】奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数 是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。现在给...

    【题解】约瑟夫问题2

    【题解】约瑟夫问题2

    【题目描述】M个人围成一圈,每分钟相邻的两个人可以交换位置(只能有一对交换)。求使M个人的顺序颠倒(即每个人左边相邻的人换到右边,右边相邻的人换到左边)所需的最少时间(分钟数)。【输入描述】 ...

    【题解】取数

    【题目描述】设有N 个正整数(1 <= N <= 50),其中每一个均是大于等于1、小于等于300的数。从这N个数中任取出若干个数(不能取相邻的数),要求得到一种取法,使得到的和为最大。例...

    【题解】开关灯(1)

    【题目描述】假设有N盏灯(N为不大于5000的正整数),从1到N按顺序依次编号,初始时全部处于开启状态;有M个人(M为不大于N的正整数)也从1到M依次编号。第一个人(1号)将灯全部关闭,第二个人(2号...

    亲和数

    【题目描述】自然数a的因子是指能整除a的所有自然数,但不含a本身。例如12的因子为:1,2,3,4,6。若自然数a的因子之和为b,而且b的因子之和又等于a,则称a,b为一对“亲和数” 。求最小的一对亲...