Hej,
Mam do wykonania uczelniane zadanie ktore zdecydowalem sie zrealizowac w Pythonie,niestety moj kod nie do konca spelnia warunki zadania.Oto tresc zadania :
A oto moj kod ktory po sprawdzeniu przez uczelniany SPOJ wyrzuca 68,6% ,2 bledy (nie jest opisane jakiegorodzaju bledy) i jeden timeout.
Oto moj kod
def bindigits(n, bits):
s = bin(n & int("1" * bits, 2))[2:]
return ("{0:0>%s}" % (bits)).format(s)
def bbin(s): return bin(s)[2:]
n, d, m, c = map(int, raw_input().split())
number = map(int, raw_input().split())
dec = 0
pos = len(number) - 1
for i in range(len(number)):
dec = dec + number[i] * (d ** pos)
pos = pos - 1
sdec = ('1' if dec < 0 else '0') + str(bbin(dec))[:m - 1]
print(sdec)
mant = int(sdec, 2)
diff = abs(mant - dec)
ex = 0
while(True):
mant = mant << 1
new_diff = abs(mant - dec)
if(new_diff < diff):
diff = new_diff
ex = ex + 1
else:
break
print(bindigits(ex, c))
J/w bede bardzo wdzieczny za pomoc.
Pzdr