阅读程序2
#include<bits/stdc++.h> using namespace std; const int mod = 2048; long long c, n; long long kasumi(long long x, long long mi) { long long res = 1; while (mi) { if (mi & 1) { res = (res * x) % mod; } x = (x * x) % mod; mi >>= 1; } return res; } int main() { cin >> n >> c; if (n == 3) { printf("%lld", c * (c - 1)); return 0; } long long ans = ((kasumi(c - 1, n) + (c - 1) * kasumi(-1, n)) % mod + mod) % mod; cout << ans; return 0; }
将第 9 ⾏ res = (res * x) % mod; 和第 11 ⾏ x = (x * x) % mod; 的括号去掉, 程序输出结果⼀定不变。( )
. 将第 12 ⾏的 mi >>= 1 改为 mi /= 2 ,程序输出结果⼀定不变。( )
若输⼊为 4 4 ,则输出为 78 。( )
此程序的时间复杂度为O(log n) 。
.若输⼊为 3 4 ,则输出为( )。
18
19
12
8
kasumi(2046, 13) 的返回值为( )。
2024
2
0
2022
发表评论