-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path040.py
More file actions
30 lines (26 loc) · 908 Bytes
/
040.py
File metadata and controls
30 lines (26 loc) · 908 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
T = int(input())
boundaries = [9]
for i in range(1, 18):
boundaries.append(boundaries[len(boundaries) - 1] + (10 ** (i + 1) - 10 ** i) * (i + 1))
for i in range(T):
numbers = list(map(int, input().split()))
s = 1
for j in range(len(numbers)):
temp = -1
for k in range(len(boundaries)):
if numbers[j] <= boundaries[k]:
temp = k
break
if k == 0:
s = s * numbers[j]
else:
tot = boundaries[temp] - boundaries[temp - 1]
a = (numbers[j] - boundaries[temp - 1]) // (k + 1)
b = (numbers[j] - boundaries[temp - 1]) % (k + 1)
if b == 0:
desired = 10 ** k - 1 + a
s = s * int(str(desired)[len(str(desired)) - 1])
else:
desired = 10 ** k + a
s = s * int(str(desired)[b - 1])
print(s)