输入两个整数A、B,求 A + B。 输入格式: 首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试输入2个正整数A、B。整数可能很大,但每个整数的位数不会超过1000。 输出格式: 对于每组测试输出两行数据;第一行输出"Case #:",#表示测试组号,第二行输出形式为“A + B = Sum”,Sum表示A+B的结果。每两组测试数据之间空一行。
时间: 2024-02-13 16:00:55 浏览: 150
js限制文本框为整数和货币的函数代码.docx
好的,那我来给你写一个解决这个问题的代码:
```python
from typing import List
# 大整数相加函数
def big_integer_add(num1: str, num2: str) -> str:
# 取两个数中的最大长度
n, m = len(num1), len(num2)
max_len = max(n, m)
# 将两个数的位数补齐
num1 = num1.zfill(max_len)
num2 = num2.zfill(max_len)
# 进位标志
carry = 0
# 存储结果的列表
result: List[str] = []
# 从最低位开始相加
for i in range(max_len - 1, -1, -1):
# 将字符串转为整数
x = int(num1[i])
y = int(num2[i])
# 计算当前位的和,加上进位标志
s = x + y + carry
# 计算进位标志
carry = s // 10
# 将当前位的和添加到结果列表中
result.append(str(s % 10))
# 如果最高位有进位,则将进位添加到结果列表中
if carry:
result.append(str(carry))
# 将结果列表翻转,然后转为字符串
return ''.join(result[::-1])
# 主函数
def main():
# 读入测试数据组数
t = int(input())
# 处理每一组测试数据
for i in range(1, t + 1):
# 读入两个大整数
a, b = input().split()
# 计算它们的和
c = big_integer_add(a, b)
# 输出结果
print(f"Case {i}:")
print(f"{a} + {b} = {c}")
if i != t:
print()
if __name__ == '__main__':
main()
```
这个程序可以读入多组测试数据,对于每组测试数据,它都会读入两个大整数,然后计算它们的和,并输出结果。注意,这个程序使用了一个名为 `big_integer_add` 的函数,这个函数可以计算两个大整数的和。
阅读全文