问题链接:HDU2098分拆素数和

问题简述:哥德巴赫猜想说,大于2的偶数可以分解成两个素数之和。该问题求分解个数。

问题分析:解决本问题,首先用Eratosthenes筛选法求得必要的素数,然后用试探法求可分解的个数。

程序说明:

对于输入的偶数sum而言,如果能够分解成两个素数之和,其中一个必然小于或等于sum/2,基于这个原理进行分解计数,最后求出所有的组合。

先对p[]各项赋值,p[]==1代表是素数

#include <stdio.h>
#include <math.h>// Eratosthenes筛选法
void sieveofe(int p[], int n)
{int i, j;p[0] = 0;p[1] = 0;p[2] = 1;// 初始化for(i=3; i<=n; i++) {p[i++] = 1;p[i] = 0;}int max = sqrt(n);for(i=3; i<=max; i++){if(p[i]) {for(j=i+i; j < n; j+=i)    //进行筛选p[j]=0;//不是素数}}
}//p[]==1代表是素数
#define MAX 10000int main(void)
{int p[MAX+1];int sum, count, i;sieveofe(p, MAX);for(;;) {scanf("%d", &sum);if(sum == 0)break;count = 0;for(i=2; i<=sum / 2; i++) {if(p[i] && p[sum-i])//都是素数if(i != sum-i)count++;}printf("%d\n", count);}return 0;
}

分拆素数和【筛选法】相关推荐

  1. HDU2098 分拆素数和【筛选法】

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

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

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

  3. 分拆素数和(杭电2098)

    Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢? Input 输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束. Output 对 ...

  4. c语言筛选法求100之内素数,用筛选法求100之内的素数。

    /*用筛选法求给出范围之内的素数.*/ #include #include int isPrime(int n){//判断素数 for(int i = 2; i < n; i ++){ if(n ...

  5. c语言 用筛选法求100以内的素数,使用筛选法求100以内的素数

    使用筛选法求100以内的素数 筛选法介绍 先把N个自然数按次序排列起来. 1不是质数,也不是合数,划去. 第二个数2是质数留下来,而把2后面所有能被2整除的数都划去.2后面第一个没 划去的数是3,把3 ...

  6. python filter求素数-埃拉托色尼筛选法

    质数:只可以被两个数整除,1和该数本身: 埃拉托色尼筛选法说明; (1)先把1删除(现今数学界1既不是质数也不是合数) (2)读取队列中当前最小的数2,然后把2的倍数删去 (3)读取队列中当前最小的数 ...

  7. HDU 2098 分拆素数和

    Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢? Input 输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束. Output 对 ...

  8. c语言分拆素数和,分拆素数和。

    Description 把一个偶数拆成两个不同素数的和,有几种拆法呢? Input 每行包含一个正的偶数,其值不会超过10000,个数不会超过500. Output 对应每个偶数,输出其拆成不同素数和 ...

  9. [HDU]2098分拆素数和

    http://acm.hdu.edu.cn/showproblem.php?pid=2098 用筛法标记素数,这道题就简单了. 不过有一点需要注意就是,要拆分成不同的素数,这就解释了为什么26这组数据 ...

最新文章

  1. 解析php.ini 中文版
  2. 怎么使用oracle的加权平均数_GPA不足,怎么短期有效提升?快来收获100%录取的秘诀!...
  3. 聊聊性能测试、操作系统优化对性能测试的影响,以及如何优化操作系统
  4. 4 个最好的 Linux 引导程序
  5. 字体设置_Endnote教程|字体设置
  6. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1091:求阶乘的和
  7. arrays中copyof复制两个数组_Python数组切片中的复制与否问题-list篇
  8. Random Forest 实用经验(转)
  9. 用jOOQ用Java编写SQL
  10. react学习(60)--ant design中getFieldDecorator
  11. mysql默认时间怎么不同步_MYSQL 更新时间自动同步与创建时间默认值共存问题
  12. Error during WebSocket handshake: Sent non-empty ‘Sec-WebSocket-Protocol‘ header but no response was
  13. 计算机相关的外文参考文献,计算机英文参考文献
  14. 俄勒冈之旅_以您记得的方式玩俄勒冈之路
  15. 从简单的线性方程开始了解Paddle Fluid 的全连接层 FC
  16. 使用frp配置内网访问(穿透)教程(超详细,简单)
  17. 超级App,风口浪尖的新机遇
  18. 字符,字节和编码三者的关系
  19. dscuzX2.5 数据字典
  20. 绿色工厂的企业应具备的基本条件

热门文章

  1. oracle 多表视图更新
  2. 请教关于 license.licx 不能转换成2进制文件!(c# 开发web应用程序)
  3. oracle、sqlserver创建表、删除表、创建索引的sql
  4. 在eclipse4.5.1官方英文版利用官方语言包汉化的方法
  5. Laravel Cache 的缓存文件在到期后是否会自动删除
  6. MethodInterceptor拦截器
  7. iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
  8. 北京的201个蓝天之清晨随拍
  9. Dll 导出lib和.h文件
  10. (转载)操作系统还有未来么?