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++】

 #include <cstdio>
#include <cstring>
#define mx 10005
int opt[mx];
void rdy(){
bool prim[mx];
memset(prim, , sizeof(prim));
prim[] = ;
int i, j;
for (i = ; i < mx; i += ){
if (prim[i]) continue;
for (j = i << ; j < mx; j += i) prim[j] = ;
}
for (i = ; i < mx; i += ){
if (prim[i]) continue;
for (++opt[j = i + ]; j < mx; j += ){
if (!prim[j] && j + i < mx) ++opt[j + i];
}
}
}
int main(){
rdy();
int a;
while (scanf("%d", &a), a) printf("%d\n", opt[a]);
return ;
}

HDU 2098 分拆素数和的更多相关文章

  1. HDU 2098 分拆素数和(素数)

    HDU 2098 分拆素数和(素数) http://acm.hdu.edu.cn/showproblem.php?pid=2098 题意: 给你一个偶数,问你这个偶数有多少种方式能由两个不同的素数构成 ...

  2. hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others)     ...

  3. hdu 2098 分拆素数和(素数)

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. hdoj 2098 分拆素数和

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  5. 杭电oj 2098——分拆素数和(包含如何判断质数及优化),java实现

    question:分拆素数和 思路: 1.首先从1一直遍历到数据的1/2位置(因为后面的会和前面的重复),因为是要两个数,所以另一个数就是原数据减去遍历的数字(即i 和data-i),如果二者同时为质 ...

  6. 杭电-------2098 分拆素数和(c语言写)

    #include<stdio.h> #include<math.h> ] = { , }; ;//全局变量,用来标志此时已有多少个素数 int judge(int n) {// ...

  7. 分拆素数和[HDU2098]

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  8. 哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098

    哥德巴赫猜想-nefu2 & 分拆素数和 hdu2098 //哥德巴赫猜想 #include <iostream> #include <cmath> #include ...

  9. hdu2098分拆素数和(素数+暴力)

    分拆素数和 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

随机推荐

  1. android 项目学习随笔十五(ShareSDK开放平台)

    ShareSDK开放平台http://www.mob.com/#/

  2. 苹果app审核的规则总结

    1.1为App Store开发程序,开发者必须遵守 Program License Agreement (PLA).人机交互指南(HIG)以及开发者和苹果签订的任何协议和合同.以下规则和示例旨在帮助开 ...

  3. Oracle之主键的创建、添加、删除操作

    一.创建表的同时创建主键约束 1.1.无命名 SQL)); Table created SQL> select table_name,index_name from user_indexes w ...

  4. C#:反射

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. C++ 关键字 explicit, export, mutable

    转自 explicit 如果A类有某个构造函数的单个输入参数,是B类(包括基本数据类型)的对象或引用,则C++的编译器会在需要A类形参的函数调用中,自动调用该构造函数,将B类实参隐式地转换为A类实参. ...

  6. css3 动画 执行一次

    function testAnim(x) {   $('#animationSandbox').removeClass().addClass(x + ' animated').one('webkitA ...

  7. initComponents()方法

    initComponents()是在使用GUI工具设计GUI界面时,NetBeans系统自动生成的方法. 其功能是在界面添加各个组件,并为它们注册监听器. 把initComponents()放在构造方 ...

  8. U3D刚体测试3(constraints)

    程序这边的接口: mRigidbody.constraints = RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.Freeze ...

  9. Linux文件描述符与打开文件之间的区别(转载)

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/38965239   1. 概述     在Linux系统中一切皆可以看成是文件,文件又可分为: ...

  10. Linux sync命令的作用

    adb shell sync 写缓存命令——sync 在用reboot命令启动unix系统后,系统提示出错信息,部分应用程序不能正常工作.经仔细检查系统文件,并和初始的正确备份进行比较,发现某些文件确 ...