「普通の分数の足し算」と「日付の足し算」が一致する組合せ
3/3 + 7/2 = 9/2
62 + 183 = 245
の両方が成り立っている。
このような例を全部出力してみる。
(https://teratail.com/questions/10223)
require 'date'
md0 = Date.new(2013, 12, 31)
(1..365).to_a.repeated_combination(2){|i, j|
x, y, z = md0 + i, md0 + j, md0 + i + j
z0 = Rational(x.mon,x.day) + Rational(y.mon, y.day)
# Rational(x.mon,x.day) + Rational(y.mon, y.day) == Rational(z.mon, z.day)ではダメ
if z.mon == z0.numerator && z.day == z0.denominator
puts [x.strftime("%m/%d"), y.strftime("%m/%d")].join(",")
end
}
出力結果
01/28,02/28
01/30,06/30
01/31,07/31
03/03,07/02
04/06,09/27
04/22,09/11
07/07,09/27
08/06,09/27
09/12,10/24
10/10,12/28
10/15,11/24
10/30,12/04
12/06,12/30
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。