中村 のりつぐ です。
Perl でも書いてみました。
はじめ time で以下のように書いてみたら、
32bit 超えてしまうようで、無限ループになってしまいました。
#!/usr/bin/env perl
use Time::Local;
($sec, $min, $hours, $mday, $mon, $year) = (0, 0, 0, 1, 1, 2000);
$time = timelocal($sec, $min, $hours, $mday, $mon, $year - 1900);
while (1) {
($sec, $min, $hours, $mday, $mon, $year) = localtime($time);
if ((($year + 1900) + ($mon + 1) * 100 + $mday) == 3333) {
printf " %04d + %02d%02d\n", $year, ($mon + 1), $mday;
break;
}
if ($mon == 0 && $mday == 1) {
print "* $year\n";
}
$time += 60 * 60 * 24; # next day
}
しょうがないので、 Date::Calc っていうのを
使って書いてみました。
#!/usr/bin/env perl
use Date::Calc qw(Add_Delta_Days);
#($y, $m, $d) = (2000, 1, 1);
($y, $m, $d) = (1, 1, 1);
while (1) {
if (($y + $m * 100 + $d) == 3333) {
printf "%04d + %02d%02d = 3333\n", $y, $m, $d;
last;
}
($y, $m, $d) = Add_Delta_Days($y, $m, $d, 1);
}
Python では date が見当たらなかったのでパットは書けませんでした…
中村 典嗣 E-mail: nnakamur@...