#include <iostream>
using namespace std;
typedef long long LL;
LL pow_mod(LL a, LL b, LL mod) {
LL res = 1;
while (b > 0) {
if (b & 1) {
res = res * a % mod;
}
a = a * a % mod;
b >>= 1;
}
return res;
}
int main() {
LL a, b, mod;
cin >> a >> b >> mod;
cout << pow_mod(a, b, mod) << endl;
return 0;
}实现矩阵快速幂
实现组合数预处理
埃拉托色尼筛法 (Sieve of Eratosthenes)
实现质数筛法(埃氏筛法)
#include <iostream>
using namespace std;
bool is_prime[100];
int main() {
for (int i = 2; i < 100; i++) {
is_prime[i] = true;
}
for (int i = 2; i * i < 100; i++) {
if (is_prime[i]) {
for (int j = i * i; j < 100; j += i) {
is_prime[j] = false;
}
}
}
for (int i = 2; i < 100; i++) {
if (is_prime[i]) {
cout << i << endl;
}
}
return 0;
}