山东省第八届ACM省赛 G 题(sum of power)
来源:互联网 发布:mac spss24破解码 编辑:程序博客网 时间:2024/06/06 15:04
Problem Description
Calculate mod (1000000000+7) for givenn,m.
Input
Input contains two integers n,m(1≤n≤1000,0≤m≤10).
Output
Output the answer in a single line.
Example Input
10 0
Example Output
10
题意:给你n和m,把从1到n的m次幂相加,mod 10e9+7;
思路:循环加快速幂,其实不用快速幂也行,不过得自己写个pow函数;
ps:注意这是单输入,不能弄成多输入,否则会超时,这个题也是比较坑,比赛时一开始给的是10e8+7,所有人都不对
快速幂方法:
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#define mod 1000000007using namespace std;int n,m;long long sum;long long pow_mod(int a,int n,int m)//快速幂,a为底数,n为幂数,m为mod数;{ if(n==0) return 1; long long x=pow_mod(a,n/2,m); long long ans=(long long)x*x%m; if(n%2==1) ans=ans*a%m; return ans;}int main(){ scanf("%d%d",&n,&m); sum=0; for(int i=1;i<=n;i++){ sum+=pow_mod(i,m,mod); sum=sum%mod; } cout<<sum<<endl; return 0;}
pow函数方法:
#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#define mod 1000000007using namespace std;int m,n;long long sum;long long pow(int a,int n){ long long ans=1; for(int i=0;i<n;i++){ ans*=a; ans=ans%mod; } return ans;}int main(){ scanf("%d%d",&n,&m); sum=0; for(int i=1;i<=n;i++){ sum+=pow(i,m); sum=sum%mod; } cout<<sum<<endl; return 0;}
0 0
- 山东省第八届ACM省赛 G 题(sum of power)
- 山东省第八届ACM省赛 G 题 sum of power 解答
- 山东省第八届 ACM 省赛 G sum of power (简单快速幂)
- 山东省第八届 ACM 省赛 sum of power (求和、水)
- 山东省第八届 ACM 省赛 sum of power(SDUT 3899)
- 第八届山东省赛题->sum of power
- 山东省第八届acm大赛 G题 (SDUT 3899)
- 山东省第八届ACM省赛G和J
- 山东省第八届ACM省赛C题
- 山东省第八届ACM省赛A题
- 山东省第八届ACM省赛 I 题(Parity check)
- 山东省第八届ACM省赛 J 题(company)
- 山东省第八届ACM省赛 F 题(quadratic equation)
- 山东省第八届ACM省赛 K 题(CF)
- 山东省第八届ACM省赛A.Return of the Nim
- 山东省第八届acm省赛 Return of the Nim
- SDUT 3893 (山东省第八届ACM省赛A题) Return of the Nim 博弈nim+威佐夫
- “浪潮杯”山东省第八届ACM大学生程序设计竞赛G
- 图 操作练习
- C++第5次作业(基础班)—数组1
- hihoCoder
- Quake4 在地图中放置GUI
- BZOJ 3329: Xorequ 数位DP+矩阵快速幂
- 山东省第八届ACM省赛 G 题(sum of power)
- equals与==的区别
- Swift防止按钮重复点击实现+Swift如何运用Runtime
- 晓说——东瀛日本(一)
- POJ NOI0105-44 第n小的质数
- CentOS7使用firewalld打开关闭防火墙与端口
- 关于全排列
- 转换日期格式
- golang实现自定义驱动的Cache