问题 F: QAQ的公式求解(一)
时间限制: 1 Sec 内存限制: 128 MB提交: 113 解决: 51
[ 提交][ 状态][ 讨论版]
题目描述
QAQ给定一个小公式,即:
f[i]=f[i−1]∗x
(
i>=2
)。他想知道
f[n]
的结果。
输入
第一行输入一个整数
T
,代表有
T
组测试数据。
每组数据输入三个整数 f[1]、x、n ,分别代表上面提到的信息。
注: 1<=T<=10000,1<=f[1],x,n<=109 。
输出
对每组测试数据,输出一个整数代表最后的结果。
由于结果很大,请对 109+7 取余。
样例输入
3
1 1 1
4 5 6
7 8 9
样例输出
1
12500
117440512//快速幂
#include<cstdio> #include<algorithm> using namespace std; #define inf 1000000007 int mi(long long a,long long b,long long c) { long long ans=1; a=a%c; while(b>0) { if(b%2==1) ans=a*ans%c; b=b/2; a=a*a%c; } return ans; } int main() { int t; long long y,x,n; scanf("%d",&t); while(t--) { scanf("%lld%lld%lld",&y,&x,&n); long long tt=mi(x,n-1,inf)*y%inf; printf("%lld\n",tt); } return 0; }