EXY-SC-0300
第 76 题
下面代码实现两个整数除法,其中被除数为一个“大整数”,用字符串表示,除数是一个小整数,用 int 表示,则横线处应该填写( )。
int main(){
string s;
int b;
cin >> s >> b;
vector<int> a;
for(char c : s){
a.push_back(c - '0');
}
vector<int> c;
long long rem = 0;
for(int i = 0; i < a.size(); i++){
rem = rem * 10 + a[i];
int q = rem / b;
c.push_back(q);
______________
}
int pos = 0;
while(pos < c.size() - 1 && c[pos] == 0) pos++;
for(int i = pos; i < c.size(); i++){
cout << c[i];
}
cout << endl;
cout << rem << endl;
return 0;
}
语言:
C++
GESP真题
五级
2026.3
单选题号:
15
EXY-SC-0299
第 77 题
下面关于排序算法的描述中,不正确的是( )。
语言:
C++
GESP真题
五级
2026.3
单选题号:
14
EXY-SC-0298
第 78 题
有 n 位同学的成绩已经从小到大排好序,现在对它执行下面这段以第一个元素为 pivot 的快速排序,请问此次排序的时间复杂度是( )。
void quicksort(vector<int>& a, int l, int r) {
if (l >= r) return;
int pivot = a[l];
int i = l, j = r;
while (i < j) {
while (i < j && a[j] >= pivot) j--;
while (i < j && a[i] <= pivot) i++;
if (i < j) swap(a[i], a[j]);
}
swap(a[l], a[i]);
quicksort(a, l, i - 1);
quicksort(a, i + 1, r);
}
语言:
C++
GESP真题
五级
2026.3
单选题号:
13
EXY-SC-0297
第 79 题
游戏大赛决赛,两组选手分别按得分从小到大排好队,现在要把他们合并成一个有序排行榜。
A组:A={12,35,67,89},B组:B={20,45,55,78},下面是归并合并函数的核心循环,横线处应填入( )。
int i = 0, j = 0;
vector<int> result;
while (i < A.size() && j < B.size()) {
if ( ________ ) {
result.push_back(A[i++]);
} else {
result.push_back(B[j++]);
}
}
while (i < A.size()) {
result.push_back(A[i++]);
}
while (j < B.size()) {
result.push_back(B[j++]);
}
语言:
C++
GESP真题
五级
2026.3
单选题号:
12
EXY-SC-0296
第 80 题
下面代码用分治求“最大连续子段和”,其时间复杂度为( )。
int solve(vector<int>& a, int l, int r){
if(l == r) return a[l];
int mid = l + (r - l) / 2;
int left = solve(a, l, mid);
int right = solve(a, mid + 1, r);
int sum = 0, lmax = INT_MIN;
for(int i = mid; i >= l; i--) {
sum += a[i];
lmax = max(lmax, sum);
}
sum = 0;
int rmax = INT_MIN;
for(int i = mid + 1; i <= r; i++){
sum += a[i];
rmax = max(rmax, sum);
}
return max({left, right, lmax + rmax});
}
语言:
C++
GESP真题
五级
2026.3
单选题号:
11
当前页显示 76 - 80
,共 375 道单选题