hdu 5104 Primes Problem(prime 将三重循环化两重)

//宁用大量的二维不用量小的三维
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int prime[1000],num[10005];
int Cout;
void initPrime()
{
    for(int i=2;i<=10000;i++) num[i]=1;
    for(int i=2;i<=10000;i++)
    {
        if(num[i])
        {
            for(int j=2*i;j<=10000;j+=i)
            {
                num[j]=0;
            }
        }
    }
}
int main()
{
    initPrime();
    int n;
    int i,j,k,cn;
    while(cin>>n)
    {
        cn=0;
        for(i=2;i<=n;i++)
            for(j=i;j<=(n-i)/2;j++)
                if(num[i]&&num[j]&&num[n-i-j])
                    cn++;
        cout<<cn<<endl;
    }
    return 0;
}

 

posted @ 2014-11-15 23:47  keyboard3  阅读(253)  评论(0编辑  收藏  举报