anarchy golf

プログラミングの勉強ついでにしばらく挑戦してみようと思った。
通常役に立たないノウハウばかり身に付きそうだけどキニシナイ!

>you can speak freely about problems and can release spoilers
だそうなので自分のコードを晒してみるテスト。言語はとりあえずPythonで。

1. hello world

print'Hello, world!'

20byte。

2. echo

while 1:print raw_input()

25byte。

3. 99 shinichiroes of hamaji

ここからいきなりはまる。
いろいろやって300切ったもののトップは171ってなんじゃそりゃ・・・・・・
根本的な見直しが必要になるかな。

とりあえず今のところのコード。270byte。

l='%s%s';o=l+' on the wall';f=lambda i:(i,' shinichiro%s of hamaji'%(i!=1and'es'or''))
for i in range(99,0,-1):
	print'%s, %s.'%(o,l)%(f(i)*2)
	if i-1:print'Take one down and pass it around, %s.\n'%o%f(i-1)
	else:print'Go to the store and buy some more, %s.'%o%f(99)

追記

- l='%s%s';o=l+' on the wall';f=lambda i:(i,' shinichiro%s of hamaji'%(i!=1and'es'or''))
+ l='%s%s';o=l+' on the wall';f=lambda i:(i,' shinichiro%s of hamaji'%(i-1and'es'or''))

269byte。

5. Smileys Triangle

for i in [1,2]+range(3,67,2):print(':-'+')'*63)[:i]

51byte。トップは41。近いようでいて遠い。

追記
[1,2]の前の空白が削れるので50byte。
でもあと9byte削るにはどうしていいやら。