Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
大牛帮看下 为什么WR了#include <stdio.h> #include <string.h> #include <math.h> int n; const int nn=3000; int prime[nn]; int is[nn]; void make_prime(int nn) { int i,j,b; memset(is,1,sizeof(is)); is[0]=is[1]=0; prime[0]=0; for(i=2;i<=nn;i++) { if(is[i]==0) continue; prime[++prime[0]]=i; b=nn/i; for(j=i;j<=b;j++) is[i*j]=0; } } void slove() { int i,j,t,k,t1;; t=1; for(i=1;i<=prime[0]&&prime[i]*prime[i]<=n;i++) { while(n%prime[i]==0) { k=0; while(n%prime[i]==0) { if(n==1) break; k++; n=n/prime[i]; } t1=(k+1)*(k+2)/2; t*=t1*t1; } } if(n>1) t*=9; printf("%d\n",t); } int main() { int t; make_prime(nn); //printf("%d\n",prime[0]); scanf("%d",&t); while(t--){ scanf("%d",&n); if(n==1) printf("1\n"); else slove(); } return 0; } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator