LL Golf Hole 3 - 13日の金曜日を数え上げる
Posted feedbacks - Perl
ワンライナで157バイト。かなり行儀悪いです。
1 | perl -MClass::Date=now,date -e"$d=now;$d+=[0,$d->day>13,13-$d->day];$\=\"\n\";until($d>date '2013-12-31'){++$_&&print$d->ymd if$d->wday==6;$d+='0-1-0'}print"
|
Date::Simple使って書いてみました。112バイト。day_of_weekが長い・・・。
1 2 3 | use Date::Simple(':all');
for($t=today;$t<d8('20131231');$t++)
{print$t."\n" if($t->day_of_week==5&&$t->day==13);}
|
書き方少し見直しました。108バイト。
1 2 3 | use Date::Simple(':all');
for($t=today;$t++<d8('20131231');)
{print$t."\n"if($t->day_of_week==5&&$t->day==13)}
|
じゃぁもっと短く。102bytes。改行削ったら100bytes
1 2 3 | use Date::Simple':all';
for($t=today;$t++<d8"20131231";)
{print"$t\n"if($t->day_of_week*$t->day==65)}
|
しまった。もう2bytes短くできた。
1 2 3 | use Date::Simple':all';
for($t=today;$t++<d8"20131231";)
{print"$t\n"if$t->day_of_week*$t->day==65}
|




takano32
#6985()
[
Ruby
]
Rating4/8=0.50
今日から2013年12月31日までの、13日の金曜日とその総数を表示してください。
余力のあるものはこのプログラムを短くしてみたり、短くしてみたり、短くしてください。
※LL Future実行委員の高野光弘です。この出題は LL Future公式の出題であり、優れたものについてはLL Golfのセッションでご紹介させていただくかもしれません。ご理解の上、ご投稿ください。また、LL Futureのチケットは現在も発売中です。よろしければ、メインイベントの方にもぜひご参加ください。
see: DateTime - Rubyリファレンスマニュアル
Rating4/8=0.50-0+
[ reply ]