C++11 解题:细胞分裂问题 - 模运算优化
#include
const long long MOD = 998244353;
long long power(long long base, long long exponent) { long long result = 1; while (exponent > 0) { if (exponent % 2 == 1) { result = (result * base) % MOD; } base = (base * base) % MOD; exponent /= 2; } return result; }
int main() { long long a, b, k; cin >> a >> b >> k;
long long ans = (power(2, k) * a) % MOD;
if (a != b) {
ans = (ans - power(2, k) + 1 + MOD) % MOD;
ans = (ans * power(a - b + MOD, MOD - 2)) % MOD;
}
cout << ans << endl;
return 0;
}
原文地址: http://www.cveoy.top/t/topic/qvbB 著作权归作者所有。请勿转载和采集!