博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1262 寻找素数对
阅读量:6205 次
发布时间:2019-06-21

本文共 982 字,大约阅读时间需要 3 分钟。

问题链接

问题简述参见上述链接。

问题分析对于输入的偶数,先求得其一半的值,若不为奇数则减去1,然后从这个奇数开始从大到小用奇数试探。根据哥德巴赫猜想,一个偶数可以分解为两个素数之和,其中一个必然小于或等于这个偶数的一半。

有了上述的一个奇数p,对于输入的m来说,另外一个奇数就是m-p。

只要测试这两个奇数都是素数,就得到了差距最小的两个素数,输出即可。

程序说明(略)。

AC的C语言程序如下:

/* HDU 1262 寻找素数对 */#include 
#include
int isprime(int n){ if(n == 3) return 1; int temp, i; temp = n % 6; if(temp != 1 && temp != 5) return 0; temp = sqrt(n); for(i=3; i<=temp; i+=2) if(n % i == 0) return 0; return 1;}int main(void){ int m, p; while(scanf("%d",&m)!=EOF) { p = m / 2; if(p % 2 == 0) p--; for(;;) { if(p <= 2) break; if(!isprime(p)) { p -= 2; continue; } if(isprime(m - p)) { printf("%d %d\n", p, m-p); break; } p -= 2; } } return 0;}

转载于:https://www.cnblogs.com/tigerisland/p/7564876.html

你可能感兴趣的文章
python语法笔记(四)
查看>>
UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图
查看>>
Mongo读书笔记1 -- GridFS
查看>>
【iCore3 双核心板_FPGA】例程十二:Modelsim仿真实验
查看>>
Struts2原理图
查看>>
svn的merge使用例子
查看>>
Linux信号
查看>>
scikit-learn决策树算法类库使用小结
查看>>
ABP文档 - Javascript Api - AJAX
查看>>
首次构建android studio gradle 下载缓慢的问题
查看>>
mysql命令行导入和导出数据
查看>>
取maven copy部分
查看>>
jquery $(document).ready() 与window.onload的区别
查看>>
如何让帝国CMS7.2搜索模板支持动态标签调用
查看>>
mac下源码安装redis
查看>>
C++中父类的虚函数必需要实现吗?
查看>>
cocos2d-x C++ 原始工程引擎运行机制解析
查看>>
Swift之 vm10虚拟机安装Mac OS X10.10教程
查看>>
P1801 黑匣子_NOI导刊2010提高(06)
查看>>
被吐嘈的NodeJS的异常处理
查看>>