http://acm.nyist.net/JudgeOnline/problem.php?pid=420
2012-03-22 09:51
387 查看
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取余的结果,每个结果单独占一行。 样例输入
210 110 2
样例输出
55
385
思想:在求一个数的几次幂时,可以用二分法来解决。。
#include<iostream> #include<string.h> #define M 10003 using namespace std; int doit(int i,int p) { if(p==1) return i%M; long long x=doit(i,p/2); x=x*x%M; if(p%2) x=(x%M*i)%M; return x; } int main() { int T; cin>>T; while(T--) { int n,p; cin>>n>>p; if(p==0) cout<<n%M<<endl; else{ int sum=0; for(int i=1;i<=n;++i) { sum=(sum+doit(i,p))%M; } cout<<sum<<endl; } }return 0; }
相关文章推荐
- http://acm.nyist.net/JudgeOnline/problem.php?pid=488
- http://acm.nyist.net/JudgeOnline/problem.php?pid=290
- http://acm.nyist.net/JudgeOnline/problem.php?pid=119&&Rmq
- http://acm.nyist.net/JudgeOnline/problem.php?pid=517
- 求余数 http://acm.nyist.net/JudgeOnline/problem.php?pid=205
- http://acm.nyist.net/JudgeOnline/problem.php?pid=13
- 街区最短路径问题 http://acm.nyist.net/JudgeOnline/problem.php?pid=7
- http://acm.nyist.net/JudgeOnline/problemrank.php?pid=525
- http://acm.nyist.net/JudgeOnline/problem.php?pid=221
- http://acm.nyist.net/JudgeOnline/problem.php?pid=58
- http://acm.nyist.net/JudgeOnline/problem.php?pid=257&&中缀表达式变后缀表达式
- http://acm.nyist.net/JudgeOnline/problem.php?pid=3
- http://acm.nyist.net/JudgeOnline/problem.php?pid=128&&前缀式计算
- http://acm.nyist.net/JudgeOnline/problem.php?pid=431
- hdu1114,poj1384(完全背包)另附:http://acm.nyist.net/JudgeOnline/problem.php?pid=311
- 会场安排问题 http://acm.nyist.net/JudgeOnline/problem.php?pid=14
- http://acm.nyist.net/JudgeOnline/problem.php?pid=115&&Dijkstra城市平叛
- 字母统计 http://acm.nyist.net/JudgeOnline/problem.php?pid=241
- 数数http://acm.nyist.net/JudgeOnline/problem.php?pid=198
- http://acm.nyist.net/JudgeOnline/problem.php?pid=309