分拆素数和【筛选法】
问题链接: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;
}
分拆素数和【筛选法】相关推荐
- HDU2098 分拆素数和【筛选法】
分拆素数和 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- hdu 2098 分拆素数和(一个偶数拆分成两个不同素数和 拆法数量)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2098 分拆素数和 Time Limit: 1000/1000 MS (Java/Others) ...
- 分拆素数和(杭电2098)
Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢? Input 输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束. Output 对 ...
- c语言筛选法求100之内素数,用筛选法求100之内的素数。
/*用筛选法求给出范围之内的素数.*/ #include #include int isPrime(int n){//判断素数 for(int i = 2; i < n; i ++){ if(n ...
- c语言 用筛选法求100以内的素数,使用筛选法求100以内的素数
使用筛选法求100以内的素数 筛选法介绍 先把N个自然数按次序排列起来. 1不是质数,也不是合数,划去. 第二个数2是质数留下来,而把2后面所有能被2整除的数都划去.2后面第一个没 划去的数是3,把3 ...
- python filter求素数-埃拉托色尼筛选法
质数:只可以被两个数整除,1和该数本身: 埃拉托色尼筛选法说明; (1)先把1删除(现今数学界1既不是质数也不是合数) (2)读取队列中当前最小的数2,然后把2的倍数删去 (3)读取队列中当前最小的数 ...
- HDU 2098 分拆素数和
Problem Description 把一个偶数拆成两个不同素数的和,有几种拆法呢? Input 输入包含一些正的偶数,其值不会超过10000,个数不会超过500,若遇0,则结束. Output 对 ...
- c语言分拆素数和,分拆素数和。
Description 把一个偶数拆成两个不同素数的和,有几种拆法呢? Input 每行包含一个正的偶数,其值不会超过10000,个数不会超过500. Output 对应每个偶数,输出其拆成不同素数和 ...
- [HDU]2098分拆素数和
http://acm.hdu.edu.cn/showproblem.php?pid=2098 用筛法标记素数,这道题就简单了. 不过有一点需要注意就是,要拆分成不同的素数,这就解释了为什么26这组数据 ...
最新文章
- 解析php.ini 中文版
- 怎么使用oracle的加权平均数_GPA不足,怎么短期有效提升?快来收获100%录取的秘诀!...
- 聊聊性能测试、操作系统优化对性能测试的影响,以及如何优化操作系统
- 4 个最好的 Linux 引导程序
- 字体设置_Endnote教程|字体设置
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1091:求阶乘的和
- arrays中copyof复制两个数组_Python数组切片中的复制与否问题-list篇
- Random Forest 实用经验(转)
- 用jOOQ用Java编写SQL
- react学习(60)--ant design中getFieldDecorator
- mysql默认时间怎么不同步_MYSQL 更新时间自动同步与创建时间默认值共存问题
- Error during WebSocket handshake: Sent non-empty ‘Sec-WebSocket-Protocol‘ header but no response was
- 计算机相关的外文参考文献,计算机英文参考文献
- 俄勒冈之旅_以您记得的方式玩俄勒冈之路
- 从简单的线性方程开始了解Paddle Fluid 的全连接层 FC
- 使用frp配置内网访问(穿透)教程(超详细,简单)
- 超级App,风口浪尖的新机遇
- 字符,字节和编码三者的关系
- dscuzX2.5 数据字典
- 绿色工厂的企业应具备的基本条件
热门文章
- oracle 多表视图更新
- 请教关于 license.licx 不能转换成2进制文件!(c# 开发web应用程序)
- oracle、sqlserver创建表、删除表、创建索引的sql
- 在eclipse4.5.1官方英文版利用官方语言包汉化的方法
- Laravel Cache 的缓存文件在到期后是否会自动删除
- MethodInterceptor拦截器
- iOS开发-retain/assign/strong/weak/copy/mutablecopy/autorelease区别
- 北京的201个蓝天之清晨随拍
- Dll 导出lib和.h文件
- (转载)操作系统还有未来么?