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; }