p次方求和
时间限制:
1000 ms | 内存限制:
65535 KB
难度:
3
-
描述
-
一个很简单的问题,求
1^p+2^p+3^p+
……
+n^p
的和。
-
输入
-
第一行单独一个数字t表示测试数据组数。接下来会有t行数字,每行包括两个数字n,p,
输入保证0<n<=1000,0<=p<=1000。
输出
- 输出1^p+2^p+3^p+……+n^p对10003取余的结果,每个结果单独占一行。 样例输入
-
2 10 1 10 2
样例输出
-
55 385
/* 连续干掉几个快速幂取余题目,真涨自信 2014-8-28 1:13 */ #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int Power(int a,int b,int c){ int ans=1;a%=c; while(b>0){ if(b&1) ans=(ans*a)%c; a=(a*a)%c; b>>=1; } return ans; } void solve(){ int T; scanf("%d",&T); while(T--){ int a,b; scanf("%d%d",&a,&b); int sum=0; for(int i=1;i<=a;i++){ sum=(sum+Power(i,b,10003))%10003; } printf("%d\n",sum); } } int main(){ solve(); return 0; }
-
第一行单独一个数字t表示测试数据组数。接下来会有t行数字,每行包括两个数字n,p,