Cod sursa(job #2670210)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 9 noiembrie 2020 14:04:09
Problema A+B Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 0.99 kb
import math

def binary(x):
    a=[]

    while x:
        a.append(x&1)
        x>>=1

    return a

def binary_add(x,y):
    a=binary(x)
    b=binary(y)

    lim=max(len(a),len(b))

    while(len(a)<=lim):
        a.append(0)

    while(len(b)<=lim):
        b.append(0)


    sol=[0]*(lim+5)

    carry=0

  #  print(a)
   # print(b)

    for i in range(lim+1):
        sol[i]=(carry^a[i]^b[i])

        if(a[i] and b[i]) or (carry and (a[i] or b[i])):
            carry=1
        else:
            carry=0

    ans=0

    for i in range(len(sol)):
        if sol[i]:
            ans|=(1<<i)

    return ans

def log_multiply(x,y):

    sol=0

    while(y):
        if y&1:
            sol=binary_add(sol,x)
            y^=1
        else:
            x<<=1
            y>>=1

    return sol

fin=open("adunare.in","r")
fout=open("adunare.out","w")

s=fin.read()

n=int(s.split()[0])
m=int(s.split()[1])


print(binary_add(x,y),file=fout)