【HDU】 1397 Goldbach's Conjecture

原创 2016年05月30日 20:33:04

Goldbach’s Conjecture


题目链接


题目大意

    给你一个偶数,让你去计算有多少组不同的质数相加等于这个偶数。
    比如10=5+5、10=3+7,所以10的答案是2.


题解

    直接打表暴力了…因为数据很小嘛


代码

#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>

using namespace std;

int n,tab[33000],h;
int vis[33000];

void settab(int high)
{
    h=0;
    memset(tab,0,sizeof(tab));
    memset(vis,0,sizeof(vis));
    for (int i=2;i<=high;i++) if (!vis[i])
    {
        int j=i+i;
        tab[h++]=i;
        vis[i]=2;
        while (j<=high)
        {
            vis[j]=1;
            j+=i;
        }
    }
}

int ser(int l,int r,int k)
{
    int mid=(l+r)>>1,ll=l,rr=r;
    while (ll!=rr)
    {
        if (k<=tab[mid]) rr=mid;
        else ll=mid+1;
        mid=(ll+rr)>>1;
    }
    return ll;
}

int main()
{
    settab(32768);
    while(scanf("%d",&n),n!=0)
    {
        int p=ser(0,h-1,n),ans=0;
        for (int i=0;i<=p;i++)
        {
            if (tab[i]>n/2) break;
            if (vis[n-tab[i]]==2) ans++;
        }
        printf("%d\n",ans);
    }
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

hdu 1397 Goldbach's Conjecture

题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1397 题目描述: Goldbach's Conjecture Time Limi...

HDU1397 POJ2909 UVA686 UVALive5674 ZOJ1657 Goldbach's Conjecture(II)

Regionals 1998 >> Asia - Tokyo 问题链接:HDU1397 POJ2909 UVA686 UVALive5674 ZOJ1657 Goldbach's Conjectu...

hdu1397Goldbach's Conjecture(素数筛打表+二分)

Goldbach's Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O...
  • Sxx312
  • Sxx312
  • 2016年07月16日 19:36
  • 307

HDU - 1397 Goldbach's Conjecture(哥德巴赫猜想)

素数筛法

HDU 1397 Goldbach's Conjecture

素数计算

POJ2262-Goldbach's Conjecture

  • 2011年07月29日 01:26
  • 8KB
  • 下载

POJ 2909 Goldbach's Conjecture(我的水题之路——任一数为素数对之和)

Goldbach's Conjecture Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8...

九度OJ题目1440:Goldbach's Conjecture

题目1440:Goldbach's Conjecture 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: Goldbach's Conjecture: For any e...
  • zpy2073
  • zpy2073
  • 2017年04月12日 22:23
  • 74

poj 2262 Goldbach's Conjecture 筛法 哥德巴赫猜想

poj 2262 Goldbach's Conjecture 筛法 哥德巴赫猜想 In 1742, Christian Goldbach, a German amateur mathematician...
  • k_l_c_
  • k_l_c_
  • 2016年08月09日 08:57
  • 221

Goldbach's Conjecture 解题报告

Description In 1742, Christian Goldbach, a German amateur mathematician, sent a letter to Leonhar...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【HDU】 1397 Goldbach's Conjecture
举报原因:
原因补充:

(最多只允许输入30个字)