林老师 · 客观题题库 · 专题 19 高精度运算 · 复习强化

专题 19 高精度运算 · 复习强化

100 题 · 每题对应一个知识细节 · 全部原创
真题
复刻
试卷编号ORIG-专题19高精度运算-复习强化
题目总数101 题 · 100 分
试卷类型客观题
考生须知:
① 本卷共 17 大部分,合计 101 题 · 100 分,全部为客观题;
② 试卷右上角设有 「提交答卷」「重置考试」 按钮,提交后系统自动判分并显示答题正确情况,请确认全部作答后再行提交;
③ 试卷不显示答案,提交后方可查看每题作答与正确答案的对照;
④ 答卷进度会保留在本地缓存中,刷新或再次打开仍可继续作答;
⑤ 本卷仅供学生练习使用;请勿用于其他用途;题面有问题请联系:i64coder@163.com。

判 分 报 告

0 / 100 分
0
答 对 · 得 0
0
答 错 · 失 0
当前筛选下没有题目

高精度概念与存储

8 QUESTIONS · 2 POINTS EACH
第 1 题 A1 未作答

需要用高精度运算的根本原因是( )。

(1 分)
第 2 题 A2 未作答

高精度整数最常用的存储方式是( )。

(1 分)
第 3 题 A3 未作答

把低位存在下标 00、高位存后面的逆序存储,主要好处是( )。

(1 分)
第 4 题 A4 未作答

每格只存一位十进制数字的「逐位存储」,与每格存四位的「压位」相比(压位属竞赛优化,大纲未明列)( )。

(1 分)
第 5 题 A5 未作答

用数组存高精度数时,通常另设变量 len 记录位数,原因是( )。

(1 分)
第 6 题 A6 未作答

运算结果数组高位可能出现多余的 00(如减法借位后),输出前应( )。

(1 分)
第 7 题 A7 未作答

初赛范围内高精度运算对负数的标准处理思路是( )。

(1 分)
第 8 题 A8 未作答

下列最需要高精度运算的场景是( )。

(1 分)

高精度加法

8 QUESTIONS · 2 POINTS EACH
第 9 题 B1 未作答

高精度加法逐位相加时,某一位的「和」超过 99 应( )。

(1 分)
第 10 题 B2 未作答

高精度加法的进位如何参与后续计算( )。

(1 分)
第 11 题 B3 未作答

两个 nn 位的高精度数相加,结果最多多少位( )。

(1 分)
第 12 题 B4 未作答

两个长度不等的数相加,逐位循环的正确做法是( )。

(1 分)
第 13 题 B5 未作答

逐位加法循环结束后,若进位变量仍为 11,应( )。

(1 分)
第 14 题 B6 未作答

999999+1999999 + 1 的进位特点是( )。

(1 分)
第 15 题 B7 未作答

高精度加法主循环的正确结构是( )。

(1 分)
第 16 题 B8 未作答

999+1999 + 1 的结果是( )。

(1 分)

高精度减法

8 QUESTIONS · 2 POINTS EACH
第 17 题 C1 未作答

高精度减法某位不够减时,标准的处理是( )。

(1 分)
第 18 题 C2 未作答

高精度减法运算前先比较被减数与减数大小,目的是( )。

(1 分)
第 19 题 C3 未作答

100011000 - 1 的借位特点是( )。

(1 分)
第 20 题 C4 未作答

减法结果去前导零的正确规则是( )。

(1 分)
第 21 题 C5 未作答

计算 123456123 - 456,标准处理流程是( )。

(1 分)
第 22 题 C6 未作答

两个 nn 位数相减(大减小),结果最多多少位( )。

(1 分)
第 23 题 C7 未作答

高精度减法主循环的正确结构是( )。

(1 分)
第 24 题 C8 未作答

100011000 - 1 的结果是( )。

(1 分)

高精度乘法概念

7 QUESTIONS · 2 POINTS EACH
第 25 题 D1 未作答

高精度数乘以单精度整数(如 123×4123 \times 4)的逐位做法是( )。

(1 分)
第 26 题 D2 未作答

高乘低运算中,进位的特点是( )。

(1 分)
第 27 题 D3 未作答

高精度乘高精度的核心技巧「错位相加」指的是( )。

(1 分)
第 28 题 D4 未作答

一个 5050 位数与一个 3030 位数相乘,结果最多多少位( )。

(1 分)
第 29 题 D5 未作答

高精度乘法的运算时间( )。

(1 分)
第 30 题 D6 未作答

高精度数乘以 00 的正确处理是( )。

(1 分)
第 31 题 D7 未作答

竖式乘法把两个数的末位对齐的原因是( )。

(1 分)

高精度除单精度

7 QUESTIONS · 2 POINTS EACH
第 32 题 E1 未作答

高精度数除以单精度整数(如 1234÷71234 \div 7)的逐位做法是( )。

(1 分)
第 33 题 E2 未作答

高精度除以单精度的完整输出包括( )。

(1 分)
第 34 题 E3 未作答

逐位除法中「余数乘 1010 加本位」的乘 1010 来自( )。

(1 分)
第 35 题 E4 未作答

逐位除法从高位除起,商数组的低位可能出现前导零吗,正确认识是( )。

(1 分)
第 36 题 E5 未作答

一个 nn 位数除以一位数,商的位数是( )。

(1 分)
第 37 题 E6 未作答

高精度除法的除数为 00 时( )。

(1 分)
第 38 题 E7 未作答

高精度除以单精度的主循环结构是( )。

(1 分)

输入输出与转换

5 QUESTIONS · 2 POINTS EACH
第 39 题 F1 未作答

高精度数读入用字符串(或字符数组)而不用整数变量,原因是( )。

(1 分)
第 40 题 F2 未作答

把字符串 "345" 转成逆序数字数组的结果是(下标 00 起)( )。

(1 分)
第 41 题 F3 未作答

逆序存储的高精度数 a = {5, 4, 3}len=3)代表的数与正确输出是( )。

(1 分)
第 42 题 F4 未作答

把字符 '7' 转成数字 77 的标准写法是( )。

(1 分)
第 43 题 F5 未作答

输出高精度结果前去前导零的循环条件通常写为( )。

(1 分)

综合应用

5 QUESTIONS · 2 POINTS EACH
第 44 题 G1 未作答

计算 25!25! 需要高精度,其结果的位数是( )。

(1 分)
第 45 题 G2 未作答

(3015)=155117520\binom{30}{15} = 155117520,这个结果( )。

(1 分)
第 46 题 G3 未作答

264=184467440737095516162^{64} = 18446744073709551616,关于它与 unsigned long long 的关系,正确的是( )。

(1 分)
第 47 题 G4 未作答

斐波那契数列从某项起超出 long long,需要高精度。1,11,1 起步的第 100100 项是( )。

(1 分)
第 48 题 G5 未作答

long long 大约能表示到 9.2×10189.2\times10^{18}(约 1919 位十进制)。由此判断「位数超过多少的整数运算要警惕溢出」最稳妥的口径是( )。

(1 分)

易错综合

4 QUESTIONS · 2 POINTS EACH
第 49 题 H1 未作答

高精度加法忘记处理进位,对 876+345876 + 345 的输出影响是( )。

(1 分)
第 50 题 H2 未作答

减法借位后忘记在高位「多减一」,100011000 - 1 会算成( )。

(1 分)
第 51 题 H3 未作答

减法 10088100 - 88 忘去前导零,输出会是( )。

(1 分)
第 52 题 H4 未作答

两个 500500 位的数相乘,积数组至少要开多少位才安全( )。

(1 分)

加法代码

7 QUESTIONS · 2 POINTS EACH
第 53 题 I1 未作答

高精度计算 a = 999(逆序存 {9,9,9},len=3),b = 1,标准逐位加法 + 最终进位处理后输出。

输出是( )。

(1 分)
第 54 题 I2 未作答

高精度计算 a = 123,b = 456,标准高精度加法。

输出是( )。

(1 分)
第 55 题 I3 未作答

高精度计算 a = 999999,b = 1,标准高精度加法。

输出与结果的位数是( )。

(1 分)
第 56 题 I4 未作答

高精度计算 a = 987654321,b = 123456789,标准高精度加法。

输出是( )。

(1 分)
第 57 题 I5 未作答

高精度计算 876+345876 + 345,逐位处理(低位到高位)时每位的「本位和、写入位、向前进位」依次是( )。

(1 分)
第 58 题 I6 未作答

高精度计算 a = 555,b = 555,标准高精度加法。

输出是( )。

(1 分)
第 59 题 I7 未作答

补全加法主循环的关键语句:

01int c[600] = {0};
02int carry = 0;
03for (int i = 0; i < n; i++) {
04    int s = a[i] + b[i] + carry;
05    c[i] = /* 1 */;
06    carry = s / 10;
07}
08if (carry) c[n++] = carry;

空位 /* 1 */ 处应填( )。

(1 分)

减法代码

7 QUESTIONS · 2 POINTS EACH
第 60 题 J1 未作答

高精度计算 a = 1000,b = 1,标准高精度减法(借位处理 + 去前导零)。

输出是( )。

(1 分)
第 61 题 J2 未作答

高精度计算 a = 523,b = 345,标准高精度减法。

输出是( )。

(1 分)
第 62 题 J3 未作答

高精度计算 a = 100,b = 88,标准高精度减法。

输出是( )。

(1 分)
第 63 题 J4 未作答

高精度计算 a = 500,b = 499,标准高精度减法。

输出是( )。

(1 分)
第 64 题 J5 未作答

高精度计算 100011000 - 1(逆序存储),逐位处理时「本位差、是否借位」依次是( )。

(1 分)
第 65 题 J6 未作答

高精度计算 a = 12345,b = 678,标准高精度减法(短数高位按 0 参与)。

输出是( )。

(1 分)
第 66 题 J7 未作答

补全减法主循环的关键语句:

01int borrow = 0;
02for (int i = 0; i < n; i++) {
03    int s = a[i] - b[i] - borrow;
04    if (s < 0) { s += 10; borrow = 1; }
05    else /* 1 */;
06    c[i] = s;
07}

空位 /* 1 */ 处应填( )。

(1 分)
拾壹

乘法代码

7 QUESTIONS · 2 POINTS EACH
第 67 题 K1 未作答

高精度计算 a = 123(逆序 {3,2,1}),k = 4,逐位乘单精度。

输出是( )。

(1 分)
第 68 题 K2 未作答

高精度计算 a = 999,k = 9,逐位乘单精度(含进位拆出)。

输出是( )。

(1 分)
第 69 题 K3 未作答

高精度计算 a = 999,b = 99,错位相乘的标准高精度乘法。

输出是( )。

(1 分)
第 70 题 K4 未作答

高精度计算 23×1423 \times 14(各自逆序存储),乘数第 00 位(44)与被乘数各位相乘的中间积落在积数组的哪些位( )。

(1 分)
第 71 题 K5 未作答

高精度计算 a = 123,b = 456,错位相乘的标准高精度乘法。

输出是( )。

(1 分)
第 72 题 K6 未作答

高精度计算 a = 9999,b = 9999,标准高精度乘法。

积与积的位数是( )。

(1 分)
第 73 题 K7 未作答

补全高乘高内层循环的累加语句:

01for (int i = 0; i < lb; i++) {
02    int carry = 0;
03    for (int j = 0; j < la; j++) {
04        int t = c[i + j] + b[i] * a[j] + carry;
05        c[i + j] = t % 10;
06        carry = /* 1 */;
07    }
08    c[i + la] += carry;
09}

空位 /* 1 */ 处应填( )。

(1 分)
拾贰

除法代码

6 QUESTIONS · 2 POINTS EACH
第 74 题 L1 未作答

高精度计算 a = 1234,k = 7,逐位除法(高位到低位)。

商与余数是( )。

(1 分)
第 75 题 L2 未作答

高精度计算 a = 1000,k = 3,逐位除法。

商与余数是( )。

(1 分)
第 76 题 L3 未作答

高精度计算 a = 99999,k = 9,逐位除法。

商与余数是( )。

(1 分)
第 77 题 L4 未作答

高精度计算 725÷6725 \div 6,从高位逐位处理,「本位数字、当前被除值、商位、余数」依次是( )。

(1 分)
第 78 题 L5 未作答

高精度计算 a = 100,k = 10,逐位除法。

商与余数是( )。

(1 分)
第 79 题 L6 未作答

补全逐位除法的关键语句:

01int r = 0;
02for (int i = len - 1; i >= 0; i--) {
03    int cur = r * 10 + a[i];
04    q[i] = cur / k;
05    r = /* 1 */;
06}

空位 /* 1 */ 处应填( )。

(1 分)
拾叁

完善程序

6 QUESTIONS · 2 POINTS EACH
第 80 题 M1 未作答

补全加法循环结束后的最终进位处理:

01int carry = 0;
02for (int i = 0; i < n; i++) {
03    int s = a[i] + b[i] + carry;
04    c[i] = s % 10; carry = s / 10;
05}
06if (carry > 0) /* 1 */;

空位 /* 1 */ 处应填( )。

(1 分)
第 81 题 M2 未作答

补全减法的不够减分支:

01int s = a[i] - b[i] - borrow;
02if (s < 0) {
03    s += /* 1 */;
04    borrow = 1;
05} else {
06    borrow = 0;
07}

空位 /* 1 */ 处应填( )。

(1 分)
第 82 题 M3 未作答

补全高乘高的落位下标:

01for (int i = 0; i < lb; i++)
02    for (int j = 0; j < la; j++) {
03        int t = c[/* 1 */] + b[i] * a[j] + carry;
04        c[i + j] = t % 10; carry = t / 10;
05    }

空位 /* 1 */ 处应填( )。

(1 分)
第 83 题 M4 未作答

补全逐位除法的被除值计算:

01for (int i = len - 1; i >= 0; i--) {
02    int cur = /* 1 */ + a[i];
03    q[i] = cur / k;
04    r = cur % k;
05}

空位 /* 1 */ 处应填( )。

(1 分)
第 84 题 M5 未作答

补全字符串读入的逆序转换:

01char s[505];
02cin >> s;
03int len = strlen(s);
04for (int i = 0; i < len; i++)
05    a[i] = s[/* 1 */] - '0';

空位 /* 1 */ 处应填( )。

(1 分)
第 85 题 M6 未作答

补全逆序数组的高位到低位输出:

01for (int i = /* 1 */; i >= 0; i--)
02    cout << a[i];

空位 /* 1 */ 处应填( )。

(1 分)
拾肆

综合代码

6 QUESTIONS · 2 POINTS EACH
第 86 题 N1 未作答

用高精度(或大数)计算 2642^{64},结果是( )。

(1 分)
第 87 题 N2 未作答

25!=1551121004333098598400000025! = 15511210043330985984000000,它的位数是( )。

(1 分)
第 88 题 N3 未作答

斐波那契数列 1,1,2,3,1,1,2,3,\cdots 的第 100100 项是( )。

(1 分)
第 89 题 N4 未作答

11 开始用高精度乘 22,连续 1010 次,结果是( )。

(1 分)
第 90 题 N5 未作答

(3015)\binom{30}{15} 的值是( )。

(1 分)
第 91 题 N6 未作答

3203^{20} 的值是( )。

(1 分)
拾伍

综合应用

4 QUESTIONS · 2 POINTS EACH
第 92 题 O1 未作答

两个都是 100100 位且各位都是 99 的数相加,结果的位数是( )。

(1 分)
第 93 题 O2 未作答

一个 5050 位数与一个 3030 位数相乘,结果位数的一切可能( )。

(1 分)
第 94 题 O3 未作答

高精度计算 a = 100000,b = 1,标准高精度减法。

输出是( )。

(1 分)
第 95 题 O4 未作答

50!=3041409320171337804361260816606476884437764156896051200000000000050! = 30414093201713378043612608166064768844377641568960512000000000000,它的位数是( )。

(1 分)
拾陆

易错代码

5 QUESTIONS · 2 POINTS EACH
第 96 题 P1 未作答

加法代码漏写 if (carry) c[n++] = carry;,对 999+1999 + 1 的输出影响是( )。

(1 分)
第 97 题 P2 未作答

减法借位分支写了 s += 10 却忘写 borrow = 1;,对 100011000 - 1 的输出影响是( )。

(1 分)
第 98 题 P3 未作答

输出循环误写为 for (int i = len; i >= 0; i--)(从 len 起且没去前导零),可能的后果是( )。

(1 分)
第 99 题 P4 未作答

读入转换误写为正序存储(a[i] = s[i] - '0';)却仍按下标 00 对齐逐位加,后果是( )。

(1 分)
第 100 题 P5 未作答

关于高精度运算,下列说法正确的是( )。

(1 分)

真 题 演 练

1 QUESTIONS · 真题演练不计分
第 1 题 单选 未作答

以下关于高精度运算的说法错误的是( )。

(0 分)
CSP-J 2023 · 单选 第7题 | 知识点 高精度、数据范围与溢出