在洛谷上一个类似的快速幂题目相同的代码过了,但是在杭电这里总是输出超限,为什么
仅供参考,望采纳~
#include<stdio.h>
typedef long long int LL;
int main()
{
LL t,a,b,c,res;
scanf("%lld",&t);
for(int i=0;i<t;i++)
{
scanf("%lld%lld%lld",&a,&b,&c);
res=1;
a%=c;
while(b>0)
{
if(b&1)
{
res=a*res%c;
}
a=a*a%c;
b>>=1;
}
printf("%lld\n",res);
}
return 0;
}
这是按照你的代码改正了一下,执行的结果
以下是个人写的
#include<stdio.h>
int main(void)
{
int a,b,c;
int n,i,j,res=1;
scanf("%d",&n);
int result[n];
for(i=0;i<n;i++)
{
scanf("%d%d%d",&a,&b,&c);
for(j=0;j<b;j++)
{
res*=a;
}
result[i]=res%c;
res=1;
}
for(i=0;i<n;i++)
{
printf("%d\n",result[i]);
}
return 0;
}