1から1000までで3か8で割り切れる数を出力する

ちょっとCodeGolf(いかに少ないストローク(文字)数で仕様を満たすプログラムを書くことを競う)事に最近、はまっている。
  
なのでタイトルの通り、「1から1000までで3か8で割り切れる数を出力する(重複無し)」という題を自分で考え自分で書いてみた。

http://d.hatena.ne.jp/toriimiyukki/20110321/1300679725

で、挑戦してみました。

class P{static void Main(){int n=1;while(++n<1001)if(n%3*n%8<1)System.Console.WriteLine(n);}}
  • VB(ちなみに\は余剰ではなく商を計算する演算子だそうで)
Module M
Sub Main()
For i=1 To 1000:If (i Mod 3)*(i Mod 8)=0 Then Console.WriteLine(i)
Next
End Sub
End Module
  • F#
List.iter (fun a->if a%3*a%8<1 then printfn "%d" a) [1..1000];;
  • ひまわり
1000回,もし(回数%3*回数%8)<1なら,表示(回数)
  • なでしこ
1000回もし(回数%3*回数%8)<1なら回数を表示

結果

なでしこ>ひまわり>F#>C#VB
思いつきでやってみた日本語勢が圧勝という。可読性も抜群ですね!