diff options
Diffstat (limited to 'introductory_problems/bit_strings.cpp')
-rw-r--r-- | introductory_problems/bit_strings.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/introductory_problems/bit_strings.cpp b/introductory_problems/bit_strings.cpp new file mode 100644 index 0000000..84acfea --- /dev/null +++ b/introductory_problems/bit_strings.cpp @@ -0,0 +1,21 @@ +// 1617. Bit Strings +#include <bits/stdc++.h> + +const int mod = 1e9 + 7; + +long long fast_pow2(int x) { + long long res = 1, y = 2; + while (x) { + if (x & 1) + res = (res * y) % mod; + y = (y * y) % mod; + x >>= 1; + } + return res; +} + +int main() { + static int n; + scanf("%d", &n); + printf("%lld\n", fast_pow2(n)); +} |