- ベストアンサー
うるう年の求め方を教えてください。
うるう年の求め方を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
4で割れる年をうるう年とする。 ただし,100で割れる年は平年にする。 ただし,400で割れる年はうるう年とする。 例:1700年,1800年,1900年は平年。 2000年はうるう年です 。
その他の回答 (4)
- yoin
- ベストアンサー率18% (15/79)
つい最近、C++の試験で出ました。 NO.2さんの回答に一票です。
- he-goshite-
- ベストアンサー率23% (189/802)
平成11年度秋期の「初級シスアド」の午後問6に次のような問題がでていました。 設問1 指定された年がうるう年ならば1,平年であれば0となるような計算式を,セルB5に入力した。計算式の___に入れる適切な字句を,回答群の中から選べ。解答は重複して選んでもよい。 IF(剰余(_a_ ,4) _b_ 0,0, IF(剰余(_c_ ,100)_d_ 0,1, IF(剰余(_e_ ,400)_f_ 0,1,0))) a,c,e に関する解答群 (略) b,d,f に冠する解答群 (略) で,解答は a,c,e には指定年の数値(たとえば今年なら 2003)が入力されているセルアドレスが入り, b,d,f には 順に ≠,≠,= が入ります。 Excelが手元にあれば試してみてください。 蛇足ですが,この計算法によるうるう年の決め方を「グレゴリオ暦」といっています。
すでにロジックについては回答がついているんで、簡単に・・・ Dim Ly(2) As Integer'余りを入れる変数を3つ用意します。 Ly(0) = tY Mod 4'4で割った時の余り Ly(1) = tY Mod 100'100で割った時の余り Ly(2) = tY Mod 400'400で割った時の余り If (Ly(0) = 0 And Ly(1) <> 0) Or Ly(2) = 0 Then 'ここに閏年の処理を書きましょう。 End If
- himekou43-e
- ベストアンサー率39% (95/242)
一般的には、400年の間で97回、つまり (1)西暦で、4の倍数の年 (2)400で割れない年は、閏年にしない です。 したがって西暦1900年は、閏年ではなかったはずです。 計算式のお尋ねだったのでしょうか?