6 条题解
-
0
/* 思路: 思路一: 1 (a.b)%c = ((a%c)*(b%c))%c 2 pow(3,10)=pow(pow(3,2),5)=pow(9*3,4)=pow(pow(27,2),2) */ #include <bits/stdc++.h> using namespace std; typedef long long ll; ll function_Modexpfast ( ll a , ll b , ll c ) { a = a % c; ll result = 1; //记录a的b次方 while ( b != 0 ) { //循环操作 b&1 if ( b % 2 == 1 ) { // 每次对b除以2 奇数时则是result记录时。 result = (result * a) % c; //奇数时 a的b次方= a*a * a的b-1次方 } a = (a * a) % c; b = b >> 1; //向右移动一位 就是除以2 } cout << result << endl; return result; } int main() { int n; cin >> n; for ( int i = 1; i <= n; i++ ) { ll a, b, c; cin >> a >> b >> c; function_Modexpfast(a , b , c); } return 0; }
信息
- ID
- 97
- 时间
- 2000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 625
- 已通过
- 204
- 上传者