【日付セット】> 西暦の和暦変換2 (paizaランク C 相当) [難易度: 1790 ±19]
※リンク先へ移動するためには[paiza]へのログインが必要です。
西暦年y、月m、日付dが与えられるので、和暦で表示してください。
和暦は、以下の条件を確認し、西暦から変換してください。
・明治は1912年7月29日まで
・大正は1912年7月30日から1926年12月24日まで
・昭和は1926年12月25日から1989年1月7日まで
・平成は1989年1月8日から2019年4月30日まで
・令和は2019年5月1日から
入力値(例)
2019 5 1
出力値(例)
令和元年5月1日
解答例
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 31 32 33 34 35 36 37 38 39 40 41 |
<?php list($y, $m, $d) = explode(" ", trim(fgets(STDIN))); $buf = $y*10000+$m*100+$d; if ($buf <= 19120729) { if ($y-1868 == 0) { printf("明治元年%d月%d日", $m, $d); } else { printf("明治%d年%d月%d日", $y-1868+1, $m, $d); } } elseif (19120730 <= $buf && $buf <= 19261224) { if ($y-1912 == 0) { printf("大正元年%d月%d日", $m, $d); } else { printf("大正%d年%d月%d日", $y-1912+1, $m, $d); } } elseif (19261225 <= $buf && $buf <= 19890107) { if ($y-1926 == 0) { printf("昭和元年%d月%d日", $m, $d); } else { printf("昭和%d年%d月%d日", $y-1926+1, $m, $d); } } elseif(19890108 <= $buf && $buf <= 20190430) { if ($y-1989 == 0) { printf("平成元年%d月%d日", $m, $d); } else { printf("平成%d年%d月%d日", $y-1989+1, $m, $d); } } elseif(20190501 <= $buf) { if ($y-2019 == 0) { printf("令和元年%d月%d日", $m, $d); } else { printf("令和%d年%d月%d日", $y-2019+1, $m, $d); } } ?> |