大数余を求める簡単な方法(水)

3323 ワード

Prepared for New Acmer
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 7477    Accepted Submission(s): 2826
Problem Description
合宿は2週間近く行われ、この間は回復的な訓練を主とし、私はずっとみんなの訓練状況に注目していました.これまで、みんなの演技にかなり満足していました.まず、ほとんどの選手の訓練の積極性が高く、次に、合宿の規律を守っていました.最後に、ベテラン選手も先頭に立っていました.ここでは特に今回のDP特別テーマ練習試合にテーマとテストデータを提供してくれた合宿チームのキャプテンxhdさんに感謝します.
特に嬉しいことに、合宿チームの訓練に従った新しい選手の演技はとてもよくて、進歩も比較的に著しくて、特に訓練態度は私の予想を大きく超えて、私は敢えて言って、もし皆さんがこのように堅持することができたら、絶対に前途は無限です!
新しい選手がまだシステム訓練を受けていないことを考慮して、私はここで特に簡単な問題を追加しました.
3つの正の整数A,BとC(A,B,C<=100000)を与え、A^B mod Cの結果を求める.
みんながすべて试合の中でACの楽しみを体得することができることを望んで、绝対的なオーダーメイド、とても高い待遇、ほほほ...
 
 
Input
入力データは、最初に正の整数Nを含み、試験例の個数を表し、次にN行のデータであり、各行は3つの正の整数A,B,Cを含む.
 
 
Output
各テストインスタンスについて計算結果を出力し、各インスタンスの出力が1行を占めます.
 
 
Sample Input
3
2 3 4
3 3 5
4 4 6
 
 
Sample Output
0
2
4
 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 int main()
 5 {
 6     long long a,b,c;
 7     int n;
 8     cin>>n;
 9     while(n--)
10     {
11         cin>>a>>b>>c;
12         long long t=a;
13         b--;
14         while(b--)
15         {
16             a=a*t;
17             a=a%c;
18         }
19         cout<<a%c<<endl;
20     }
21 }