luogu P1630 求和(枚举暴力)
题意
题解
可以发现当a=10001时,
和1是等价的。
所以这题就水了。
1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 const long long mod=10000; 8 long long ksm(long long x,long long b){ 9 long long tmp=1; 10 while(b){ 11 if(b&1){ 12 tmp=(tmp*x)%mod; 13 } 14 b>>=1; 15 x=(x*x)%mod; 16 } 17 return tmp; 18 } 19 int main(){ 20 long long t; 21 scanf("%lld",&t); 22 while(t--){ 23 long long a,b; 24 scanf("%lld%lld",&a,&b); 25 long long c=a/mod; 26 c%=mod; 27 long long d=a%mod; 28 long long ans1=0,ans2=0; 29 for(long long i=1;i<=mod;i++){ 30 ans1+=ksm(i,b); 31 ans1%=mod; 32 } 33 for(long long i=1;i<=d;i++){ 34 ans2+=ksm(i,b); 35 ans2%=mod; 36 } 37 printf("%lld\n",(ans1*c+ans2)%mod); 38 } 39 return 0; 40 }