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 |
那位大侠帮我看看,为什么总是WA阿,我硬算的等比数列和,即使不过也应该是超时阿???//why Wrong Answer?????????????????????????????? #include <stdio.h> #include <math.h> #define M 9901 int main() { long long int A,B; long long i,j,k,temp,ans,expo; long long p[30],c[30]; scanf("%lld %lld",&A,&B); int root_A = (int)sqrt((double)A); k = 0; temp = A; for(i = 2; i <= root_A; i++){//find n's prime factors and order of each factor if(temp % i == 0){ p[k] = i; temp = temp/i; c[k] = 1; while(temp % i == 0){ temp = temp/i; c[k]++; } k++; } } if(temp > 1){//if temp eventually doesn't decreased to 1, then temp must itself be a prime factor p[k] = temp; c[k++] = 1; } ans = 1; for(i = 0; i < k; i++){//for each prime factor temp = 1 + p[i]; expo = p[i]; for(j = 2; j <= c[i]*B; j++){ expo = expo*p[i] % M; temp = (temp + expo) % M; } ans = (ans*temp) % M; } printf("%lld\n",ans); return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator