作者: Yさ
日時: 2002/12/21(21:30)
こんばんは。

Noritsugu Nakamura writes:

> しょうがないので、 Date::Calc っていうのを
> 使って書いてみました。
 :
>     if (($y + $m * 100 + $d) == 3333) {


...awkだと何も無いし(^^;)
ちなみに↓こんな感じで年を増加して調べました。
--^
BEGIN{
  ANS = 3333;

  for(y=2002; y<=ANS; ++y){
    val=ANS-y;
    m=int(val/100); d=val%100;
    if(1<=m && m<=12 && 1<=d && d<=lastday(y,m))
      printf("%04d + %04d = %04d\n", y, val, y+val);
  }
}

#指定の月は何日迄あるか
function lastday(y,m){
  if(m==2) return (y%4==0 && (y%100 || y%400==0))?29:28;
  return (m==4 || m==6 || m==9 || m==11)?30:31;
}
--$