十二支の干支(えと)を求めたい
指定した年(西暦年)が、干支(子・丑・寅・卯・辰・巳・午・未・申・酉・戌・亥)で何年かをプログラムで計算し求めたい。
ロジックは非常にシンプルである。
西暦を12で剰余算すると0の時に申(サル)が来る。ということで、申・酉・戌・亥・子・丑・寅・卯・辰・巳・午・未という順番の配列を作成しておき、後は添え字を剰余算で計算してやれば良い。
;#
;#干支算出
;#
print getEto(2007), "\n";
#------------------------------------------
#干支を取得する
#------------------------------------------
sub getEto{
my $year = shift;
my @label = ('申','酉','戌','亥','子','丑','寅','卯','辰','巳','午','未');
return( $label[$year % 12] );
}
#※文字コードはEUCで
対応関係がいまいちわからんという人は以下を参照のこと。
| 西暦 | 西暦%12 | 実際の干支 |
|---|---|---|
| 1992 | 0 | さる |
| 1993 | 1 | とり |
| 1994 | 2 | いぬ |
| 1995 | 3 | い |
| 1996 | 4 | ね |
| 1997 | 5 | うし |
| 1998 | 6 | とら |
| 1999 | 7 | うし |
| 2000 | 8 | たつ |
| 2001 | 9 | み |
| 2002 | 10 | うま |
| 2003 | 11 | ひつじ |
| 2004 | 0 | さる |
| 2005 | 1 | とり |
| 2006 | 2 | いぬ |
| 2007 | 3 | い |
| 2008 | 4 | ね |
| 2009 | 5 | うし |
| 2010 | 6 | とら |
干支を聞いて、こいつで計算すれば、おおまかな年齢がばれるというのは秘密です(笑)
