zoukankan      html  css  js  c++  java
  • P1579 哥德巴赫猜想(升级版)

    程序是人类的财富!!11

    -------------------------------------------

    题目链接:MIKU

    OK,Let's gi;

    -------------------------------------------------

    这道题很水的,就是个搜索

    唯一的问题是时间复杂度(别想着倒着搜)

    和字典序输出(递归是反着的)

    --------------------------------------------------

    /*
    程序员是人类最大的财富
    
    
    
    我也是 
    
    
    
    */
    #include<iostream>
    
    using namespace std;
    int x;
    const int maxn=20001;
    int vis[20001];
    int ans[4];
    int chai(int z,int step)
    {
        if(step==3)
        {
            if(!vis[z])
            {
                //cout<<z<<" ";
            ans[step]=z;
            return 1;
        }
            else
            return 0;
        }
        for(int i=3;i<=maxn;++i)
        {
            if(!vis[i])
            if(chai(z-i,step+1))
            {ans[step]=i;
            break;
            }
        }
    }
    
    
    int main()
    
    {//我知道欧拉筛更快,但是埃氏筛足够了 
        cin>>x;
        for(int i=2;i<=maxn;++i)
        if(!vis[i])
        for(int j=i+i;j<=maxn;j+=i)
        {
            vis[j]=1;
        }
        
        if(!vis[x-4])//根据奇偶性,我们知道有两种可能 
        cout<<2<<" "<<2<<" "<<x-4;
        else
        {
            chai(x,1);//为了字典序 
                for(int i=1;i<=3;++i)
        cout<<ans[i]<<" ";
        }
    
        
        return 0;
    } 
    AC forMIKU
  • 相关阅读:
    awk书上练习
    矩阵运算
    从最大似然到EM算法浅解
    numpy 练习
    python lxml教程
    pycharm快捷键
    python正则表达式教程
    三门问题
    Solr本地服务器搭建及查询
    git简单使用
  • 原文地址:https://www.cnblogs.com/For-Miku/p/10799393.html
Copyright © 2011-2022 走看看