http://acm.hdu.edu.cn/showproblem.php?pid=5104
#include <cstdio>#include<cstring>#include<cmath>#include<iostream>#include<algorithm>using namespacestd;intisp[10000+ -];intprime[10000];intCoun;BOOLIsPrime (intx) { inti,j; for(i=2; i<=sqrt (x); i++) { if(x%i==0)return false; } return true;}voidFun () {inti,j; for(i=2; i<=10000; i++) { if(isp[i]!=0)Continue; if(IsPrime (i)) {Isp[i]=1; Prime[coun++]=i; } J=i; while(j+i<=10000) {J+=i; ISP[J]=2; } }}intMain () {//freopen ("Output.txt", "w", stdout); intans; intI,j,k,n; memset (ISP,0,sizeof(ISP)); Coun=0; Fun (); //printf ("%d...\n", Coun); while(SCANF ("%d", &n)! =EOF) { intans=0; for(i=0; i<coun;i++) { if(prime[i]>n/3) Break; for(j=i;prime[j]<= (N-prime[i])/2; j + +) {k=n-prime[i]-Prime[j]; if(isp[k]==1) ans++; }} printf ("%d\n", ans); //n++; } return 0;}
View Code
Hdu 5104 Primes problem (prime water)