閏年判定を短く記述したいのであればN=28+!(DY MOD 4)-!(DY MOD 100)+!(DY MOD 400)なんてどうでしょうか?
閏年に関しては西暦が「4で割り切れる」「100で割り切れる」「400で割り切れる」という3つの条件を考える必要があります。
4で割り切れない、100で割り切れない、400で割り切れない→閏年ではない
4で割り切れる、100で割り切れない、400で割り切れない→閏年
4で割り切れる、100で割り切れる、400で割り切れない→閏年ではない
4で割り切れる、100で割り切れる、400で割り切れる→閏年
実は、3つの条件は独立したものではなく「4で割り切れる数の集合⊃100で割り切れる数の集合⊃400で割り切れる数の集合」という包含関係になっています。
(続く)
0そうだね プレイ済み