hdu 1262 寻找素数
来源:互联网 发布:二维码生成算法 c语言 编辑:程序博客网 时间:2024/05/24 07:18
主题思想: 寻找素数。 给一个偶数,要求寻找最近的素数对,使这两个素数的和等于这个偶数。
我的思路是,首先对这个偶数n,求其一半的值m=n/2。
如果m是一个素数,m就是所求。
令a=m,b=m; 如果a,b是偶数,则a=a-1;b=b+1;只有奇数才有可能是素数,如果a,b是奇数,则a=a-2;b=b+2才保证a,b是奇数,
再验证是否是素数。
AC代码:
#include <iostream>#include<cstdio>#include<cstring>#include<cmath>using namespace std;bool isPrime(int n){ if(n==2||n==3||n==5||n==7) return true; if(n%2==0||n%3==0||n%5==0||n%7==0) return false; int len=sqrt(n); for(int i=2;i<=len;i++){ if(n%i==0) return false; } return true;}int main(){ int n=10000; int cnt=0; int m; int a,b; // n is even , while(scanf("%d",&n)!=EOF){ int m=n/2; if(isPrime(m)){ printf("%d %d\n",m,m); continue; } a=m; b=m; while(true){ if(isPrime(a)&&isPrime(b)){ printf("%d %d\n",a,b); break; } if(a%2==0)a=a-1; else a=a-2; if(b%2==0) b=b+1; else b=b+2; } }}
阅读全文
0 0
- hdu 1262 寻找素数
- HDU 1262 寻找素数对
- hdu 1262 寻找素数对
- HDU 1262 寻找素数对
- hdu-1262-寻找素数对
- hdu 1262 寻找素数对
- hdu 1262 寻找素数对
- hdu-1262-寻找素数对
- HDU 1262 寻找素数对
- hdu-1262-寻找素数对
- HDU 1262 寻找素数对
- 寻找素数对 HDU 1262
- hdu 1262寻找素数对
- HDU 1262 寻找素数对
- HDU 1262 寻找素数对
- hdu 1262 寻找素数对
- hdu 1262 寻找素数对
- HDU 1262 寻找素数对
- 在ArcGIS中如何设置选择要素的颜色
- Websockets和SSE(服务器发送事件的疑问
- mysql 复习
- As修改项目名,模块名,包名
- Serlvet3.0 注解 浅析
- hdu 1262 寻找素数
- [effectiv c++]条款33:避免遮掩继承而来的名称(重载,重写,重定义)
- HDU6214(最小割SAP模板题)
- 链家校招面试(c++开发)
- 为QLabel添加鼠标事件
- HDU 5547 Sudoku(dfs+模拟+状态判断)
- 闭包的简单理解
- 从零开始前端学习[11]:控制文本显示的样式属性
- 敏捷开发--概念及其应用