Coasters & Shifting Pattern Fixed

Coasters@Groovy

murkey-satyrさんの解。Groovyでは、文字列の n 回繰り返しは、

"hello"*3     // ==> "hellohellohello"

と書けるが、n は、整数でなくても良いようだ。小数点以下が切り捨てられて扱われる。本問の場合、入力は、7 か 11 か 13 で、7 の場合は、n は 1、それ以外の場合は、2 したい。私の解では、

b="|$s|\n"*(288%l)

のように、288%l (where l is 7, 11, or 13) で、1 または 2 を得ていた。整数にする必要がなければ、以下のように、より簡単に得られる。

e="|$w|\n"*(n/5)

Shifting Pattern Fixed@JavaScript

murky-satyrさんの解

$.slice(print($),-1)

print()のリターンは、undefined だ。slice() の引数は、undefined だと 0 とみなすようだ。試してみたところ、

"hello".slice(undefined,4)    // ==> "hell"
"hello".slice(null,4)         // ==> "hell"
"hello".slice("0",4)          // ==> "hell"

となった。

Shifting Pattern Fixed@C

naiさんの解は、strcat() を使ったものだった。strcat() を使う方法は頭に浮かんでいたが、短くならないだろうと思い、ためしもしなかった。s+=n を行う位置も絶妙だな。anarchy golf の C の場合、関数呼び出しの引数は、後ろから評価されるようだ。
inaniwaさんの解もみごとだ。char* を使うことで、一文字ずつ前にずらしていく方法。よくここまで短くなるな。さすが。
問題は単純なので、色々な方法を思いつくのは難しくないが、それを確実に短くしていくところがプロゴルファーですね。う〜んかなわん。