zoukankan      html  css  js  c++  java
  • HDU 2098 分拆素数和

    HDU 2098 分拆素数和

    Time Limit: 1000/1000 MS (Java/Others)

    Memory Limit: 32768/32768K (Java/Others)

    【题目描述 - Problem Description】

      把一个偶数拆成两个不同素数的和,有几种拆法呢?

    【输入 - Input】

    【输出 - Output】

      输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束。

      对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。

    【输入样例 - Sample Input】

    【输出样例 - Sample Output】

    30

    26

    0

    3

    2

    【题解】

      数据不大,能打表偷懒就打表偷懒吧,素数筛即可。

    【代码 C++】

     1 #include <cstdio>
     2 #include <cstring>
     3 #define mx 10005
     4 int opt[mx];
     5 void rdy(){
     6     bool prim[mx];
     7     memset(prim, 0, sizeof(prim));
     8     prim[2] = 1;
     9     int i, j;
    10     for (i = 3; i < mx; i += 2){
    11         if (prim[i]) continue;
    12         for (j = i << 1; j < mx; j += i) prim[j] = 1;
    13     }
    14     for (i = 3; i < mx; i += 2){
    15         if (prim[i]) continue;
    16         for (++opt[j = i + 2]; j < mx; j += 2){
    17             if (!prim[j] && j + i < mx) ++opt[j + i];
    18         }
    19     }
    20 }
    21 int main(){
    22     rdy();
    23     int a;
    24     while (scanf("%d", &a), a) printf("%d
    ", opt[a]);
    25     return 0;
    26 }
  • 相关阅读:
    如何让 PADS Layout 识别到板框
    笔记:理想和挣钱
    笔记:知数据不知情况
    关于ie6下拖动滚动条时,div抖动的问题解决
    jQuery 中屏蔽浏览器的F5刷新功能
    jQuery 的append在ie下的兼容性
    协程
    进程
    操作系统的发展史
    python_控制台输出带颜色的文字方法
  • 原文地址:https://www.cnblogs.com/Simon-X/p/5472291.html
Copyright © 2011-2022 走看看