共63道题,当前是第61题
1 #include < bits/stdc++.h> 2 using namespace std; 3 4 typedef long long ll; 5 const int mod = 2048; 6 ll c, n; 7 ll func(ll x, ll mi){ 8 ll res = 1; 9 while (mi){ 10 if (mi&1) res = (res * x) % mod; 11 x = (x * x) % mod; 12 mi >>= 1; 13 } 14 return res; 15 } 16 int main(){ 17 cin >> n >> c; 18 if (n == 3){ 19 printf("%lld", c * (c - 1)); 20 return 0; 21 } 22 ll ans=((func(c-1,n)+(c-1)*func(-1,n))%mod+mod)%mod; 23 cout << ans; 24 return 0; 25 }
将第 $10$ 行 $res = (res*x)%mod;$ 和第 $11$ 行 $x = (x*x)%mod;$ 的括号去掉,程序输出结果一定不变。( )
将第 $12$ 行的 $m>>= 1$ 改为 $mi /= 2$ ,程序输出结果一定不变。( )
若输入为 $4 \ 4$ ,则输出为 $78$ 。( )
此程序的时间复杂度为 $O(logn)$。( )
若输入为 $3 \ 4$ ,则输出为( )。
若输入为 $2046\ 13$ 的返回值为( )。