[水题]hdu 1262 寻找素数对
2017-03-22 20:06
253 查看
hdu 1262 寻找素数对
题意:
任意取出一个偶数,来寻找两个值最相近的素数,其和等于该偶数
思路:
水题,判断素数
但还是wa了一次,这两个素数可以是一样的……比如 6 = 3 + 3;
代码:
#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
bool judge(int x){
if(x < 2) return 0;
else if(x == 2) return 0;
else{
int tmp = sqrt(x);
for(int i=2; i<=tmp; i++)
if(x % i == 0) return 0;
}
return 1;
}
int main(){
int n, mid;
while(~scanf("%d", &n)){
mid = n/2;
for(int i=0; i<mid; i++){
if(judge(mid-i) && judge(mid+i)){
printf("%d %d\n", mid-i, mid+i);
break;
}
}
}
return 0;
}
反思:
仔细一点
题意:
任意取出一个偶数,来寻找两个值最相近的素数,其和等于该偶数
思路:
水题,判断素数
但还是wa了一次,这两个素数可以是一样的……比如 6 = 3 + 3;
代码:
#include <iostream>
#include <cstdio>
#include <queue>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
bool judge(int x){
if(x < 2) return 0;
else if(x == 2) return 0;
else{
int tmp = sqrt(x);
for(int i=2; i<=tmp; i++)
if(x % i == 0) return 0;
}
return 1;
}
int main(){
int n, mid;
while(~scanf("%d", &n)){
mid = n/2;
for(int i=0; i<mid; i++){
if(judge(mid-i) && judge(mid+i)){
printf("%d %d\n", mid-i, mid+i);
break;
}
}
}
return 0;
}
反思:
仔细一点
相关文章推荐
- hdu 1262 寻找素数对(数论:生成素数表+水题)
- HDU 1262 寻找素数对 素数水题
- 数论--HDU1262 寻找素数对【素数】
- 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 寻找素数对 模拟题
- hdu1262-寻找素数对
- hdu 1262 寻找素数对(素数的判断,快速筛选素数)
- hdu 1262 寻找素数对