Skip to content

Instantly share code, notes, and snippets.

@rcabreu
Last active March 23, 2020 03:06
Show Gist options
  • Save rcabreu/6180540 to your computer and use it in GitHub Desktop.
Save rcabreu/6180540 to your computer and use it in GitHub Desktop.
C++::algorithms::Fast_Exponentiation
ll fast_expo(ll base, ll expt) {
if (expt == 0) return 1LL;
if (expt == 1) return base;
ll ans = fast_expo(base, expt / 2);
ans = (ans + MOD) % MOD;
ans = (ans * ans + MOD) % MOD;
if (expt & 1LL) ans = (ans * base + MOD) % MOD;
return ans;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment