HPU 1049 (简单快速幂)

来源:互联网 发布:网络推广模式 编辑:程序博客网 时间:2024/05/31 19:33

1049: QAQ的公式求解(一)

时间限制: 1 Sec  内存限制: 128 MB
提交: 113  解决: 51
[提交][状态][讨论版]

题目描述

QAQ给定一个小公式,即:f[i]=f[i1]xf[i]=f[i−1]∗xi>=2i>=2)。他想知道f[n]f[n]的结果。

输入

第一行输入一个整数TT,代表有TT组测试数据。

每组数据输入三个整数f[1]xnf[1]、x、n,分别代表上面提到的信息。


注:1<=T<=100001<=f[1],x,n<=1091<=T<=10000,1<=f[1],x,n<=109

输出

对每组测试数据,输出一个整数代表最后的结果。

由于结果很大,请对109+7109+7取余。

样例输入

31 1 14 5 67 8 9

样例输出

112500117440512

提示

来源

CZY


代码:
#include<stdio.h>#include<math.h>#define MOD 1000000007//不能写成1000000000+7,会出错; long long quick_pow(long long x,long long b){long long ans=1,base=x;while(b){if(b&1)    {    ans=(ans*base)%MOD;    }    base=(base*base)%MOD;    b>>=1;}return ans;}int main(){int t;long long n,k,x;scanf("%d",&t);while(t--){long long ans1=0,ans2;scanf("%lld%lld%lld",&k,&x,&n);ans1=quick_pow(x,n-1);ans2=ans1*k%MOD;printf("%lld\n",ans2);}return 0;} 


0 0
原创粉丝点击