平方根を返すコード
先日、コードゴルフ(code golf)の用語と意味を知りました。
id:tokuhirom さんに教えて頂きました。ありがとうございます。屋内でもできる知的ゴルフです。
試しに Square root を解いてみました。
import sys,math S=[] E=-1 while 1: l=sys.stdin.readline().rstrip('\n') if not l: break else: S.append(l) for i in S: try: r=float(i) except: r=E if i[:2] == '0x': a=i[2:] h=a.split('.') r=int(h[0],16) if '.' in a: for f in map(lambda x,y:int(x,16)/float(y),h[1],map(lambda z:16**z,range(1,len(h[1])+1))): r+=f if i.find('inf')==1: print r+float('inf') elif i=='-0': print '-%.9f'%(0) elif r<0: print 'nan' else: print '%-.9f'%(math.sqrt(r))
コードが汚いし、多分、冗長も多い。-0 の取扱い方が分からなくてハードコーディング(- -#
気になるサイズは、
size: 509 time: 0.109639 sec status: 0 size: 509 time: 0.089606 sec status: 0 size: 509 time: 0.109544 sec status: 0
でした。
ちなみに python の1番の方は 103 バイトでした。何て無能な(T T)