文库 真题 GESP真题

2024年3月GESP等级认证C++编程五级真题及答案

gesp真题 gesp认证 gesp题库 PDF   9页   下载1   2024-03-17   浏览713   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2024年3月GESP等级认证C++编程五级真题及答案 第1页
2024年3月GESP等级认证C++编程五级真题及答案 第2页
剩余7页未读, 下载浏览全部
题号 1 2 3 4 5 6 7 8 9 10 11 1 2 13 14 15 答 案 B A A B C C A D B C A B B A A C ++  五级 2024 年 0 3 ⽉ 1 单选题(每题 2 分,共 30 分) 第 1 题 唯 ⼀分解定理描述的内容是( )? A. 任 意整数都可以分解为素数的乘积 B. 每 个合数都可以唯⼀分解为⼀系列素数的乘积 C. 两 个不同的整数可以分解为相同的素数乘积 D. 以 上都不对 第 2 题 贪 ⼼算法的核⼼思想是( )? A. 在 每⼀步选择中都做当前状态下的最优选择 B. 在 每⼀步选择中都选择局部最优解 C. 在 每⼀步选择中都选择全局最优解 D. 以 上都对 第 3 题 下 ⾯的 C ++ 代码⽚段⽤于计算阶乘。请在横线处填⼊( ),实现正确的阶乘计算。 A. return n * factorial(n - 1); B . return factorial(n - 1) / n; C . return n * factorial(n); D . return factorial(n / 2) * factorial(n / 2); 第 4 题 下 ⾯的代码⽚段⽤于在双向链表中删除⼀个节点 。请在横线处填⼊( ),使其能正确实现相应功能。 int factorial (int n) { if ( n == 0 || n == 1) { return 1; } else { _________________________________ // 在此处填入代码 } } 1 2 3 4 5 6 7 void deleteNode (DoublyListNode *& head , int value ) { 1 A. if (current->next != nullptr) current->next->prev = current->prev; B . current->prev->next = current->next; C . delete current->next; D . current->prev = current->next; 第 5 题 辗 转相除法也被称为( ) A. ⾼ 斯消元法 B. 费 马定理 C. 欧 ⼏⾥德算法 D. ⽜ 顿迭代法 第 6 题 下 ⾯的代码⽚段⽤于计算斐波那契数列。该代码 的时间复杂度是( )? A. B. C . D. 第 7 题 下 ⾯的代码⽚段⽤于将两个⾼精度整数进⾏相加 。请在横线处填⼊( ),使其能正确实现相应功能。 DoublyListNode * current = head ; while ( current != nullptr && current -> val != value ) { current = current -> next ; } if ( current != nullptr ) { if ( current -> prev != nullptr ) { ____________________________________ // 在此处填入代码 } else { head = current -> next ; } if ( current -> next != nullptr ) { current -> next -> prev = current -> prev ; } delete current ; } } 2 3 4 5 6 7 8 9 1 0 11 12 13 14 15 16 17 int fibonacci (int n) { if ( n <= 1) { return n; } else { return fibonacci (n - 1) + fibonacci (n - 2); } } 1 2 3 4 5 6 7 A. result = to_string(sum % 10) + result; B . result = to_string(carry % 10) + result; C . result = to_string(sum / 10) + result; D . result = to_string(sum % 10 + carry) + result; 第 8 题 给 定序列: 1 , 3 , 6 , 9 , 17 , 31 , 39 , 52 , 61 , 79 , 81 , 90 , 96 。使⽤以下代码进⾏⼆分查找查找元素 8 2 时 ,需要循环多少次,即最后输出的 t im es 值为( )。 A. 2 B . 5 C . 3 D . 4 第 9 题 下 ⾯的代码⽚段⽤于判断⼀个正整数是否为素数 。请对以下代码进⾏修改,使其能正确实现相应功能。( ) string add (string num1 , string num2 ) { string result ; int carry = 0; int i = num1 .size () - 1, j = num2 .size () - 1; while ( i >= 0 || j >= 0 || carry ) { int x = ( i >= 0) ? num1 [i-- ] - '0' : 0; int y = ( j >= 0) ? num2 [j-- ] - '0' : 0; int sum = x + y + carry ; carry = sum / 10 ; _______________________________________ } return result ; } 1 2 3 4 5 6 7 8 9 1 0 11 12 13 int binarySearch (const std::vector <int >& arr , int target ) { int left = 0; int right = arr .size () - 1; int times = 0; while ( left <= right ) { times ++ ; int mid = left + ( right - left ) / 2; if ( arr [mid ] == target ) { cout << times << endl ; return mid ; } else if ( arr [mid ] < target ) { left = mid + 1; } else { right = mid - 1; } } cout << times << endl ; return
GESP 3月认证C++五级真题,2024年3月GESP等级认证C++编程五级真题及答案
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明