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
31
32
33
34
35
36
37
38
39
40
41
# Algorytm obliczania sumy tak jak dodawanie pisemne w podstawówce
def suma(str1, str2):

    if (len(str1) > len(str2)):
        t = str1
        str1 = str2
        str2 = t

    s = ""

    n1 = len(str1)
    n2 = len(str2)

    str1 = str1[::-1]
    str2 = str2[::-1]

    carry = 0
    for i in range(n1):

        sum = ((ord(str1[i]) - 48) +
               ((ord(str2[i]) - 48) + carry))
        s += chr(sum % 10 + 48)

        carry = int(sum / 10)

    for i in range(n1, n2):
        sum = ((ord(str2[i]) - 48) + carry)
        s += chr(sum % 10 + 48)
        carry = (int)(sum / 10)

    if (carry):
        s += chr(carry + 48)

    s = s[::-1]

    return s


str1 = str(input())
str2 = str(input())
print(suma(str1, str2))