HDU-#5104 Primes Problem

来源:互联网 发布:淘宝网限时秒杀 编辑:程序博客网 时间:2024/06/06 02:18

        题目大意:给一个数N,求一个元组(p1,p2,p3),使得三个数都是素数且有序。

        解题思路:直接先打素数表,因为数据范围是1e4,因此可以直接暴力求解,枚举前面两个数,然后判断第三个数是否满足条件即可,详见code。

        题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=5104

        code:

#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const int MAXN = 10000+100;int isp[MAXN];int n,cnt;void init(){        memset(isp,0,sizeof(isp));        for(int i=2;i<sqrt(MAXN+0.5);++i)                for(int j=2;i*j<MAXN;++j)                        isp[i*j]=1;}int main(){        init();        while(~scanf("%d",&n)){                cnt=0;                for(int i=2;i<=n;++i) if(!isp[i]){                        for(int j=i;j<=(n-i)/2;++j)                                if(!isp[j] && !isp[n-i-j]) ++cnt;                }                printf("%d\n",cnt);        }        return 0;}

0 0