続・*で三角を作るプログラムを最小コードで

昨日、for文を使用し*を使って三角形の図を書く問題を最小コードで書いてみた。その続き。
16

このまとめは
*で三角を作るプログラムを最小コードで
の続きです。こちらを先に御覧頂くとより楽しめます。

まとめ *で三角を作るプログラムを最小コードで for文を使用し、*を使って三角形の図を書く問題を最小コードで書いてみることに。 13634 pv 142 8 users 3

前回の復習

ふと回ってきたRTをきっかけに、C vs JS、更に他の言語も巻き込んで、最小コードを競うことに。

あやふみ @ayafmy

本日のプログラミングの課題 1.*を使って次の図を書くプログラムを作成せよ。ただし、必ずfor文を使用すること。 * ** *** **** *** ** *

2014-02-25 17:41:19

※*の代わりに*を使いました。

C言語(GCC)

main(i){for(i=4;puts("****"+abs(--i))>1;);}
43 bytes http://ideone.com/xJwuQJ (ideone)
※エラーが発生しますが一応動きます

Javascript

for(i=7;i;print("****".slice(i-8,i--)));
40 bytes http://ideone.com/YPXejc

Python

for i in"1234321":print "*"*int(i)
34 bytes http://ideone.com/bHjUE1

Java

class h{public static void main(String[] a){for(int i=7;i>0;System.out.println("****".substring(Math.abs(4-i--))));}}
117 bytes http://ideone.com/MgMN72

昨夜のコードゴルフ熱が再燃。

C#

ろっと🔺土A72a/日ス13a @aayh

C#でコードゴルフ class A{static void Main(){for(var i=7;i>0;System.Console.WriteLine("****".Substring(4-i-->0?3-i:i-3)));}}

2014-02-26 21:35:55
ろっと🔺土A72a/日ス13a @aayh

LINQの拡張メソッドとかクエリ式使うにはusing System.Linq;必要だからハードル高い

2014-02-26 21:36:54
らんだむ @rndomhack

それもっと縮められませんかねぇ

2014-02-26 21:37:27
ろっと🔺土A72a/日ス13a @aayh

new string(char, int) で縮められるかな?

2014-02-27 02:51:17
ろっと🔺土A72a/日ス13a @aayh

class A{static void Main(){for(var i=7;i>0;System.Console.WriteLine(new string('*',4-i-->0?1+i:7-i)));}}

2014-02-26 21:43:55
ろっと🔺土A72a/日ス13a @aayh

Java(最初のpublic無し)と比較するとC#が13bytes少なくて104bytesです

2014-02-26 21:49:52
Yb@おっさん @kunio_Yb

流石にC# Javaあたりは長いなー

2014-02-26 21:51:33
ろっと🔺土A72a/日ス13a @aayh

でもL.I.N.Q使ったら条件のfor使えなくなるのでアレ

2014-02-26 21:53:44
らんだむ @rndomhack

ろっとさんもっと減らせる

2014-02-26 21:58:44
1 ・・ 9 次へ