LL Golf Hole 8 - 横向きのピラミッドを作る
Posted feedbacks - Python
84byte Pythonがなかったので、素直なやつだけでも。 3項演算を使っているので、Python2.5以上です。
1 2 3 | import sys
n=int(sys.argv[1])*2
for i in xrange(1,n):print "*"*(i if i<n/2 else n-i)
|
1 2 | def f(n):
for i in range(1,n)+range(n,0,-1):print"*"*i
|
1 2 3 4 5 6 7 8 9 10 | def pyramid(n):
line(0, n)
def line(m, n):
print '*' * m
if m < n:
line(m+1, n)
print '*' * m
pyramid(4)
|
ああ、デフォルト使えばもっとシンプルだった。 しかし再帰のコードがあまりに少ないなぁ・・・。変なの。
1 2 3 4 5 | def pyramid(n, m=0):
print '*' * m
if m < n:
pyramid(n, m+1)
print '*' * m
|
ワンライナーPython。63bytes.
1 | n=input()*2;print'\n'.join(['*'*min(k,n-k)for k in range(1,n)])
|





takano32
#7380()
[
Ruby
]
Rating4/6=0.67
与えられた自然数 n について、横向きで n 段のピラミッドを作ってください。 たとえば、 n に 4 が与えられた場合は以下のようなピラミッドを作ります。
与える自然数についてはリテラルで与える、標準入力で与える、引数で与えるなどは自由とします。
余力のあるものはこのプログラムを短くしてください。
※LL Future実行委員の高野光弘です。この出題は LL Future公式の出題であり、優れたものについてはLL Golfのセッションでご紹介させていただくかもしれません。ご理解の上、ご投稿ください。また、チケットは現在も発売中のほか、当日券もございます。よろしければ、メインイベントの方にもぜひご参加ください。
see: ピラミッドを作る どう書く?org
Rating4/6=0.67-0+
[ reply ]