#JC1031. 大整数乘法

大整数乘法

一、单项选择题(每题2分,共20分)

1、大整数乘法输入两个超长数字,使用什么类型接收输入?()。 {{ select(1) }}

  • int
  • char字符数组
  • long long
  • double

2、大整数乘法中,逆序存储数组的主要目的是?()。 {{ select(2) }}

  • 方便最高位对齐
  • 实现个位对齐
  • 方便直接正序输出
  • 减少数组占用空间

3、两个大整数a1、b1,la、lb分别为两者长度,无进位时乘积基础长度为?()。 {{ select(3) }}

  • la + lb
  • la + lb - 1
  • la - lb
  • la * lb

4、大整数乘法双重循环核心语句c1[j+i] += a1[j] * b1[i];,j+i代表的是?()。 {{ select(4) }}

  • 相乘结果在结果数组中的下标
  • a1数组的下标
  • b1数组的下标
  • 循环执行总次数

5、大整数乘法处理进位,x = c1[j+i]/10;这行代码作用是?()。 {{ select(5) }}

  • 保存当前位数值
  • 更新进位
  • 清空数组
  • 转换字符为数字

6、大整数乘小整数,小整数存普通int变量,大整数存逆序数组,处理完每一位之后,剩余多位数进位如何处理?()。 {{ select(6) }}

  • 直接丢弃进位
  • while循环不断拆分进位存入数组
  • 直接赋值给数组第0位
  • 不需要处理进位

7、大整数乘法内层循环结束后,需要把变量x存到哪个位置?()。 {{ select(7) }}

  • c1[i+la]
  • c1[j+i‑1]
  • c1[0]
  • c1[la‑1]

8、n的阶乘使用大整数实现,存储乘积的数组初始化正确的是?()。 {{ select(8) }}

  • c1[50001]={0}
  • c1[50001]={1}
  • 全部元素赋值为n
  • 全部元素赋值为n‑1

9、大整数乘法运算完成之后,输出数组的方式是?()。 {{ select(9) }}

  • 逆序输出
  • 正序输出
  • 只输出数组下标0
  • 只输出数组最后一位

10、题目统计数码:大整数相乘之后统计某个数字出现多少次,需要遍历哪个数组?()。 {{ select(10) }}

  • 原始输入字符数组a
  • 原始输入字符数组b
  • 乘积结果数组c1
  • 进位变量x

二、判断题(每题2分,共10分)

11、大整数乘法,两个数相乘,需要把字符串逆序存入整型数组实现个位对齐。() {{ select(11) }}

  • 正确
  • 错误

12、大整数乘法双重循环,i遍历第一个大整数,j遍历第二个大整数。() {{ select(12) }}

  • 正确
  • 错误

13、每一轮内层循环结束,要把进位x存到对应位置,并且把x重置为0。() {{ select(13) }}

  • 正确
  • 错误

14、大整数乘以小整数,小整数也必须先反转存入数组,不能直接用int变量。() {{ select(14) }}

  • 正确
  • 错误

15、求n的阶乘,本质是反复执行“大整数数组 × 小整数”的操作。() {{ select(15) }}

  • 正确
  • 错误