You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编程题:求解数组所有元素乘积的最后两位数字

解决数组元素乘积最后两位数字的问题

问题说明

给定一个由n个整数组成的数组,输出该数组所有元素乘积的最后两位数字,且必须输出两位数字。
输入规则:第一行输入整数n(数组元素个数),第二行输入n个空格分隔的整数作为数组元素。
约束条件:1 ≤ n ≤ 100,1 ≤ arr[i] ≤ 100

核心思路

你完全不用费劲去计算整个超大的乘积(毕竟100个100相乘的数大到离谱,还容易溢出),只需要每次计算后都保留结果的最后两位就行——因为乘积的最后两位只和每个元素的最后两位有关,每次对100取模就能精准保留我们需要的部分。

另外还有两个小细节要注意:

  • 如果计算过程中结果变成0了,后面再乘任何数都是0,直接提前终止循环就行,省点算力
  • 最终输出必须是两位数字,哪怕结果是个位数(比如结果是5,要输出05)

代码实现(Python)

# 读取输入
n = int(input())
nums = list(map(int, input().split()))

product_last_two = 1
for num in nums:
    # 每次相乘后取模100,只保留最后两位
    product_last_two = (product_last_two * num) % 100
    # 提前终止:已经是0的话,后续计算不会改变结果
    if product_last_two == 0:
        break

# 格式化输出为两位数字,不足补前导0
print(f"{product_last_two:02d}")

示例验证

拿题目里的示例输入来测试:

2
25 10

计算过程:

  1. 初始product_last_two = 1
  2. 1 * 25 = 25,取模100后还是25
  3. 25 * 10 = 250,取模100后得到50
  4. 格式化输出50,和示例要求的结果一致

边界情况测试

  • 数组含0的情况:输入3 10 20 30,最终输出00
  • 乘积为个位数的情况:输入1 5,输出05
  • 多元素相乘后末位非0的情况:输入4 7 13 9 17,乘积最后两位是17,输出17

内容的提问来源于stack exchange,提问作者mihrex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 15:47:27