概述
Problem Description
Calculate mod (1000000000+7) for given n,m.
Input
Input contains two integers n,m(1≤n≤1000,0≤m≤10).
Output
Output the answer in a single line.
Sample Input
10 0
Sample Output
10
Hint
Source
“浪潮杯”山东省第八届ACM大学生程序设计竞赛(感谢青岛科技大学)
这个题,关键是同余与模算术降低数据规模,如果直接用pow的话,数据范围会超。
同余与模算术:(a+b)%n=(a%n+b%n); (a-b)%n=(a%n-b%n+n)%n; ab%n=(a%n)(b%n)%n.
#include<iostream>
#include<cmath>
using namespace std;
#define MOD 1000000000+7
int main()
{
int n,m;
cin>>n>>m;
long long sum=0,res=0;
for(int i=1;i<=n;i++){
res=1;
for(int j=1;j<=m;j++){
res*=i,res%=MOD;
}
sum+=res;
sum%=MOD;
}
cout<<sum<<endl;
return 0;
}
最后
以上就是虚拟玉米为你收集整理的(同余与模算术)sum of power的全部内容,希望文章能够帮你解决(同余与模算术)sum of power所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复