P次方求和 NYOJ 420

 1 #include<stdio.h>//P次方求和(420)
 2 long long power(int a,int b)
 3 {
 4     long long t;
 5     if(b==0)return 1%10003;
 6     if(b==1)return a%10003;
 7     t=power(a,b/2);
 8     t=t*t;
 9     if(b&1)return a*t%10003;
10     else return t%10003;
11 }
12 int main()
13 {
14     int x;
15     long long  n,p,i,sum;
16     scanf("%d",&x);
17     while(x--){
18         scanf("%lld%lld",&n,&p);
19         sum=0;
20         for(i=1;i<=n;i++){
21             sum=(sum+power(i,p));
22         }
23         printf("%lld\n",sum%10003);
24     }
25     return 0;
26 } 
时间: 2024-12-13 20:59:26

P次方求和 NYOJ 420的相关文章

NYOJ 420 P次方求和

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 AC码: #include<std

nyoj 420 p次方求和 【快速幂】

题意... 策略:rt 代码: #include <stdio.h> #include <string.h> #define temp 10003 int ans(int n, int p){ int res = 1; n %= temp; while(p){ if(p&1) res = (n*res)%temp; n = (n*n)%temp; p /= 2; } return res; } int main(){ int t, n, p; scanf("%d&

NYOJ 420 p次方求和 (快速幂+同余定理)

题目描述: http://acm.nyist.net/JudgeOnline/problem.php?pid=420 一个很简单的问题,求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 样例输出 55385 题目分析: 快速幂

正整数的n次方求和

[b]引理: [/b](Abel分部求和法) $$\sum_{k=1}^{n}a_{k}b_{k}=A_{n}b_{n}+\sum_{k=1}^{n-1}A_{k}(b_{k}-b_{k+1})$$其中$A_{k}=a_{1}+a_{2}+\cdots+a_{n}$. [b]结论 1[/b]: $$\sum_{k=1}^{n}k=\frac{k(k+1)}{2}$$[b]结论 2[/b]:$$\sum_{k=1}^{n}k^{2}=\frac{n(n+1)(2n+1)}{6}$$证明: 由分部求

hdu 4059 数论+高次方求和+容斥原理

http://acm.hdu.edu.cn/showproblem.php?pid=4059 现场赛中通过率挺高的一道题 但是容斥原理不怎么会.. 参考了http://blog.csdn.net/acm_cxlove/article/details/7434864 1.求逆元   p=1e9+7是素数,所以由 a^(p-1)%p同余于1 可得a%p的逆元为a^(p-2) 2.segma(i^k)都可以通过推导得到求和公式 详见http://blog.csdn.net/acm_cxlove/art

最大子矩阵求和 NYOJ 104 &amp;&amp; 372 &amp;&amp; HDU 1081

链接:click here 给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵. 例子: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其最大子矩阵为: 9 2 -4 1 -1 8 其元素总和为15. 输入 第一行输入一个整数n(0<n<=100),表示有n组测试数据: 每组测试数据: 第一行有两个的整数r,c(0<r,c<=100),r.c分别代表矩阵的行和列: 随后有

多项式求和

多项式求和 Problem : 420 Time Limit : 1000ms Memory Limit : 65536K description 多项式的描述如下: 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... 现在请你求出该多项式的前n项的和. input 输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和. output 对于每个测试实例n,要求输

poj 1286 Necklace of Beads

Necklace of Beads 题意:用三种颜色给长度为n(n < 24)的环状手镯涂色,若能通过旋转或翻转得到则表示为同一种,问不同种涂色方案为多少? 思路:纯粹的等价类计算问题: 重点:对旋转和翻转转化为置换操作: 旋转:对间隔的长度进行枚举,即0 <= i < n:这样循环节就为n/gcd(i,n);直接弄成3的幂次方求和即可: 翻转:分奇偶,再求出对称轴的个数和每种情况下循环节的个数即可: 上面求出的a+b只是不动点的个数总和,最后要除以总的置换的个数即2n; #includ

ZOJ-3868-GCD Expectation(容斥)

GCD Expectation Time Limit: 4 Seconds      Memory Limit: 262144 KB Edward has a set of n integers {a1, a2,...,an}. He randomly picks a nonempty subset {x1, x2,-,xm} (each nonempty subset has equal probability to be picked), and would like to know the