MODで余りを取得して割り切れるか判定をしていますね。 余りが0か否かで判定しないと正しく割り切れるか判定 できません。 また閏年かどうか判別する部分ですが 4で割り切れる年のうち100で割り切れない年、 または400で割り切れる年が閏年になるので 判別は E==0 && F!=0 || G==0 としないと上手く行かないと思います。