作者: Shinya Kawaji | |
日時: 2002/12/23(14:38) |
かわじ、です > では、プログラム的にアレンジして、2002年から3333年の間に何回あるでしょうか? Ruby で、何も考えずに書くと以下の通り。 他のプログラムのように条件と年から月日を逆算せずに、 “何も考えずに”その年月日が条件に該当するかを調べています。 # これじゃ本当に、何も考えていないなあ・・・ require 'date' TARGET_NUMBER = 3333 DATE_SPAN = Date.new(2002,1,1) .. Date.new(TARGET_NUMBER,12,31) sum = 0 DATE_SPAN.each{|date| if TARGET_NUMBER == date.year + (date.mon * 100) + date.day sum += 1 puts sprintf('%d + %02d%02d = %d', date.year, date.mon, date.day, TARGET_NUMBER) end } puts sprintf('Total: %ddays', sum)