累積日数を使ったプログラムを示します.累積を計算しておく変数の名前はpです.
class YearDay { public static void main(String argv[ ]) { int n=210; int m, d; int p=0; if (n <=p+31) {m=1; d=n-p;} else {p=p+31; if (n <=p+28) {m=2; d=n-p;} else {p=p+28; if (n <=p+31) {m=3; d=n-p;} else {p=p+31; if (n <=p+30) {m=4; d=n-p;} else {p=p+30; if (n <=p+31) {m=5; d=n-p;} else {p=p+31; if (n <=p+30) {m=6; d=n-p;} else {p=p+30; if (n <=p+31) {m=7; d=n-p;} else {p=p+31; if (n <=p+31) {m=8; d=n-p;} else {p=p+31; if (n <=p+30) {m=9; d=n-p;} else {p=p+30; if (n <=p+31) {m=10; d=n-p;} else {p=p+31; if (n <=p+30) {m=11; d=n-p;} else {p=p+30; if (n <=p+31) {m=12; d=n-p;} else{m=0; d=0;} } } } } } } } } } } } System.out.println(n + "=" + m + "月" + d + "日"); } }
まだまだいやらしい格好ですね.月ごとに日数が微妙に違うのが諸悪の根源で,これが解決できれば繰返しの形にできそうです.
26.1.6.1 たくさんの数 | 26.1.6.2 数を減らす | 26.1.6.3 規則性を | ||
2009年度版に向けて現在作業中です.
このページに関してお気づきの点がありましたら
コメント投稿システムまでお願いします.
|
Thu, 02 Sep 2004 18:46:00 JST (1793d) |