9.1 曜日を求める |
|||
ツェラー(Zeller)の公式を使うと西暦の年月日から曜日を求めることができます。 例題では,その日が日曜日であれば0, 月曜日であれば1,…,土曜日であれば6を 返却する関数を示します。 例題プログラムでは,2月の日数が一定でないので, 1月・2月は前年の13月,14月とみなしています。 なお,うるう年は4で割れる年ですが, 100で割れるが400で割れない年は, 平年となります。 [プログラム] private int WeekDay(int Y, int M, int D) // ツェラー(Zeller)の公式 { int YY=Y; int MM=M; if (M<3){YY=Y-1; MM=M+12;} return (YY +(YY/4)-(YY/100)+(YY/400)+(13*MM + 8)/5+D) % 7; } private void button1_Click(object sender, System.EventArgs e) { int Y=int.Parse(textBox1.Text); int M=int.Parse(textBox2.Text); int D=int.Parse(textBox3.Text); int R=WeekDay(Y,M,D); string X="日月火水木金土"; label4.Text = X[R]+"曜日"; } 1. 基本的なアルゴリズム 2. 基本的なデータ構造 3. 操作を伴うデータ構造 4. 探索 5. 再帰的アルゴリズム 6. ソート 7. 集合 8. 文字列処理 9. 色々なアルゴリズム 上のタイトルをクリックします |
|||