RUBYの宿題教えてくだ ..
[2ch|▼Menu]
2:RUBY
05/01/24 22:18:29
年月を与えたとき、下のようなカレンダーを出力するプログラムを作る。
西暦1年1月1日は月曜日である。4年に一度閏年がある。しかし、100の倍数の年は閏年ではない。しかし、400の倍数の年は閏年である。
平年の1月1日が火曜日であったとすると次年の1月1日は水曜日である。
従って、日、月、・・・、土を、0、1、・・・、6と数字で表すと、西暦n年の1月1日の曜日kは、
n+(n-1)/4-(n-1)/100+(n-1)/400
を7で割った余りである。k=n % 7又2月の日数mは、
m=28+n/4*4/n-n/100*100/n+n/400*400/n
と表せる。ここで割り算は全て整数同士の割り算(切り捨て)である。
1.2月以外の日数を与える。
2.作成したいカレンダーの年(n)と月(m)を与える。
3.2月の日数を計算する。
28+n/4*4/n-n/100*100/n+n/400*400/n
4.1月1日の曜日を表す数字(0、1、・・・、6)を計算する。
  (n+(n-1)/4-(n-1)/100+(n-1)/400) % 7
5.今対象としている月の第1日目の曜日を、上で求めた1月1日の曜日を表す数値に、
  今対象とする月の前の月までの日数を加算し、7で割った余りとして求める。
6.下のようなカレンダーをHTMLの表で出力する。
1989年 4月
日 月 火 水 木 金 土
       1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30



次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4663日前に更新/173 KB
担当:undef