1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 日付セット(言語選択)
  4. 問題一覧 Elixir(Beta)編
  5. 曜日(large) Elixir(Beta)編

日付セットのアイコン
曜日(large) Elixir(Beta)編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

西暦y年m月d日が何曜日か表示してください。

ただし、yとして非常に大きな値が与えられる可能性があることに注意してください。

ただし、各月の日数は以下のように決まることに注意してください。
・4, 6, 9, 11月は30日
・2月は閏年ならば29日、そうでなければ28日
・それ以外の月は31日

ただし、閏年は次のような年のことをいいます。
・西暦が4で割り切れる年は閏年
・ただし、100で割り切れる年は平年
・ただし、400で割り切れる年は閏年

ただし、1800年1月1日は水曜日です。

参考: ツェラーの公式#フェアフィールドの公式

入力される値

整数yとmとdが次のように、スペース区切りで1行で入力されます。

y m d


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

以下のような形式で、答えを出力してください。

a曜日


aは"月", "火", "水", "木", "金", "土", "日"のいずれかの文字です。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・1800≦y≦10^11
・1≦m≦12
・1≦d≦31
・y年m月d日は実際に存在する日付です。(2019年2月31日のような存在しない日付は与えられません)

入力例1

2019 4 9

出力例1

火曜日

入力例2

100000000000 1 1

出力例2

土曜日

入力例3

2019 4 30

出力例3

火曜日

入力例4

2003 2 28

出力例4

金曜日

入力例5

9999999992 2 29

出力例5

土曜日

問題一覧へ戻る

ページの先頭へ戻る