多题目

阅读程序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; 
}


第1题 判断

将第 9 ⾏ res = (res * x) % mod; 和第 11 ⾏ x = (x * x) % mod; 的括号去掉, 程序输出结果⼀定不变。( )

A.
正确
B.
错误

第2题 判断

. 将第 12 ⾏的 mi >>= 1 改为 mi /= 2 ,程序输出结果⼀定不变。( )

A.
正确
B.
错误

第3题 判断

若输⼊为 4 4 ,则输出为 78 。( )

A.
正确
B.
错误

第4题 判断

此程序的时间复杂度为O(log n) 。

A.
正确
B.
错误

第5题 单选

.若输⼊为 3 4 ,则输出为( )。

A.

18

B.

19

C.

12

D.

8

第6题 单选

kasumi(2046, 13) 的返回值为( )。

A.

2024

B.

2

C.

0

D.

2022

发表评论

登录 后再回复