黄衣哥

文章 分类 评论
40 4 19

站点介绍

分享各种thing~

P1304 哥德巴赫猜想 题解

黄衣哥 2021-12-22 40 4条评论 知识 洛谷题解

首页 / 正文
本站换新域名啦 目前老域名:huangyige.cf 新域名:blog.huangyige.xyz 都可以访问啦!

发布于2022-01-01

又是刷入门提的一天呐
这是一道非常水的题
题目传送门:哥德巴赫猜想

好像总共就考察两个点:

1:判断指数

这个。。。只要从2到int(sqrt(n))枚举都没有可以除开n的数就行。这里不做过多解释

2:循环结构

这个。。。不说了。

so

上代码!

#include<iostream> 
using namespace std;
int tr(int x)//判断质数
{
  int n;
  bool a=0;
  for(n=2;n*n<=x;n++)
  {
      if(x%n==0)
          a=1;
  }
    return a;
}
int main() 
{
    int a,n,x;
    cin>>n;
    for(a=4;a<=n;a+=2)//4到n的简单枚举
    {
        for(x=2;x<=a/2;x++)//到a/2,因为如果超过a/2就重复了(虽然肯定有解,到不了a/2+1,但还是写上,显得自己很厉害,是不是
        {
            if(tr(x)==0)//如果x是质数
            {//这里分成两个if是因为如果x不是质数,就不继续判断了,会节省一点时间
                if(tr(a-x)==0)//如果a-x也是质数
                {
                    cout<<a<<"="<<x<<"+"<<a-x<<endl;//输出
                    break;//由于已经找到解了,所以为了不浪费时间和多输出,break
                }
            }
        }
    }
    return 0;
}

其实我的方法不是最优解,因还为可以打表或质数筛等等

最后的最后,

AC记录!

评论(4)

  1. 默默关注你的人 游客 2021-12-24 08:34 回复

    很有帮助哦

    1. 黄衣哥 管理员 2021-12-28 14:38 回复

      @默默关注你的人

      谢谢~

      常来玩哦

  2. 土拨许 游客 2021-12-24 01:04 回复

    学渣表示看不懂...

    1. 黄衣哥 管理员 2021-12-28 14:39 回复

      @土拨许

      可能是我写得太拉了

热门文章

最新评论

  • 黄衣哥

    @常瑞 谢谢,常来玩哦

  • 常瑞

    不错!

  • 黄衣哥

    @一直默默关注你 谢谢[[微笑]] 常来玩哦!

  • 黄衣哥

    @土拨许 可能是我写得太拉了[[猪头]][汗]

  • 黄衣哥

    @默默关注你的人 谢谢~[[微笑]] 常来玩哦

  • 默默关注你的人

    很有帮助哦

  • 土拨许

    学渣表示看不懂...

  • 一直默默关注你

    挺实用

  • 黄衣哥

    @芬达 收到,已更换![[呲牙]]

  • 芬达

    您好,芬达博客域名更换为 https://yu8.top 已为贵站添加博客,望更新一下链接

日历

2022年01月

      1
2345678
9101112131415
16171819202122
23242526272829
3031     

文章目录

推荐关键字: 洛谷 题解 c++ 代码 前端 JS CSS scratch 极域 HTML

站点公告
本站换新域名啦 目前老域名:huangyige.cf 新域名:blog.huangyige.xyz 都可以访问啦!
点击小铃铛关闭
配色方案