hpuoj 【1037】一個簡單的數學題【同餘定理】
阿新 • • 發佈:2019-02-14
1037: 一個簡單的數學題 [數學]
時間限制: 1 Sec 記憶體限制: 128 MB提交: 255 解決: 40
題目描述
小明想要知道a^b的值,但是這個值會非常的大。
所以退而求其次,小明想讓你幫他求出(a^b)%c的值。
輸入
第一行為一個數n;表示有n組資料。
每組資料有三個整數a,b,c;
1≤a,b,c≤50000
1≤n≤1100
輸出
每組資料有一行輸出:輸出(a^b)%c;
樣例輸入
2
2 3 3
2 3 2
樣例輸出
2
0
解析:
如果先計算a^b,那麼很可能會溢位,我們可以運用一下同餘定理。(ps:同餘定理:點選開啟連結 )
程式如下:
#include<cstdio>
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
long long t=1;
a=a%c;
for(int i=1;i<=b;i++)
{
t=t*a;
t=t%c;
}
printf("%lld\n",t);
}
return 0;
}