python
2026-05-17 21:08:29
发布于:江苏
5阅读
0回复
0点赞
import sys
def main():
s = sys.stdin.readline().strip()
n = len(s)
total = 0 # 已经计算好的加法部分的和
cur = 0 # 当前乘法链的累积值
last_op = '+' # 上一个运算符
num = 0 # 当前正在解析的数字
for i, ch in enumerate(s):
if ch.isdigit():
num = num * 10 + int(ch)
# 遇到运算符或者到达字符串末尾时,处理当前数字
if not ch.isdigit() or i == n - 1:
num_mod = num % 10000 # 只关心最后4位
if last_op == '+':
total = (total + cur) % 10000
cur = num_mod
else: # last_op == '×'
cur = (cur * num_mod) % 10000
if not ch.isdigit(): # 当前字符是运算符,更新状态
last_op = ch
num = 0
else: # 当前是最后一个数字,重置num(无后续)
num = 0
total = (total + cur) % 10000
print(total)
if __name__ == "__main__":
main()
这里空空如也

有帮助,赞一个