📅  最后修改于: 2023-12-03 15:25:52.918000             🧑  作者: Mango
小明买了一副拼图,这个拼图有 $n$ 块,每一块有一个数字。拼图需要按照从左到右的顺序依次拼起来,形成一个正整数。假设小明已经知道了这个数字,并且知道了每一块拼图上的数字,但是他忘记了自己最初有多少钱了。他需要你写一个程序来帮助他求出他最初有多少钱。
输入的第一行包含一个正整数 $n$,表示拼图的块数。
接下来 $n$ 行,每行包含一个正整数 $x_i$,表示每一块拼图上的数字。
输出一个正整数,表示小明最初有多少钱。
3
4
23
56
42356
$1\leq n\leq 100$
$x_i$ 是一位正整数
这道题目可以使用数位拆分的方法解决。逆序遍历拼图数组,每处理一个数字就把它加到答案中,并且将答案乘以 $10$。最后得到的答案就是小明最初有多少钱。
具体实现请看代码:
n = int(input())
res = 0
for i in range(n - 1, -1, -1):
xi = int(input())
res += xi * (10 ** (n - i - 1))
print(res)
假设 $n$ 为拼图块数,则时间复杂度为 $O(n)$。
假设 $n$ 为拼图块数,则空间复杂度为 $O(1)$。