大数求幂问题,可以利用快速幂算法求
快速幂算法讲解快速幂
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<cstdio>
using namespace std;
long long sum(int n,int p){
long long resualt=1;
while(p){
if(p&1)
resualt=resualt*n%10003;
n=n*n%10003;
p>>=1;
}
return resualt;
}
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,p;
scanf("%d%d",&n,&p);
long long resualt=0;
if(p==1){
resualt=(1+n)*n/2;
resualt%=10003;
}
else if(n==1){
resualt=1;
}
else{
for(int i=1;i<=n;i++){
resualt+=sum(i,p);
}
}
printf("%lld\n",resualt%10003);
}
}