- プログラミングのお題スレ Part4
449 :デフォルトの名無しさん[sage]:2014/07/09(水) 00:30:05.43 ID:xRBjxmPo - >>439 Python
def f(x,n=0): if isinstance(x, int): d = x ss = bin(abs(d))[2:] if d < 0: ss = bin((abs(d) ^ (2**len(ss)-1)) + 1)[-len(ss):] else: ss = "0" + ss if len(ss) < n: ss = ss[0] * (n-len(ss)) + ss x = map(int, ss) if n: print "f({},{}) -> {}".format(d,n,x) else: print "f({}) -> {}".format(d,x) else: ss = "".join(map(str, x)) d = int(ss,2) if x[0] == 1: d = -((d ^ (2**len(x)-1)) + 1) print "f({}) -> {}".format(x,d) --- f(-1) -> [1] f(-1,2) -> [1, 1]
|
|