challenge LL Golf Hole 3 - 13日の金曜日を数え上げる

今日から2013年12月31日までの、13日の金曜日とその総数を表示してください。

余力のあるものはこのプログラムを短くしてみたり、短くしてみたり、短くしてください。

※LL Future実行委員の高野光弘です。この出題は LL Future公式の出題であり、優れたものについてはLL Golfのセッションでご紹介させていただくかもしれません。ご理解の上、ご投稿ください。また、LL Futureのチケットは現在も発売中です。よろしければ、メインイベントの方にもぜひご参加ください。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
#!/usr/bin/env ruby
require 'date'

from = DateTime.now
to = DateTime.parse("2013-12-31")

friday = (from..to).inject(0) do |friday, date|
    if date.mday == 13 and date.wday == 5 then
        puts date.strftime('%Y-%m-%d')
        friday + 1
    else
        friday
    end
end

puts friday

Posted feedbacks - JavaScript


	
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
var counter=0;
var today = new Date();
for(var y=2008;y<2014;y++){
    for(var m=0;m<12;m++){
        var d13= new Date(y,m,13);
        if(d13 < today) continue;
        if(d13.getDay()==5){
            print(d13);
            counter++;
        }
    }
}
print(counter)

若干表示が汚い。
1
javascript:for(a=[0],d=new Date;d<1387e9;d=new Date(d-=-864e5))d.getDate()*d.getDay()-65?7:a[++a[0]]=d;a

IEは正規表現,Safariは出力でNG。
1
javascript:for(a=[0],d=new Date;d<1387e9;d=new Date(d-=-864e5))/i\D+13/(d)?a[++a[0]]=d:0;a

Index

Feed

Other

Link

Pathtraq

loading...