平成23年1月= 9
平成23年2月= 8
平成23年3月= 7
・
・
・
平成23年9月= 1
というような、9からはじまり1で終わり、また9から始まって1で終わるという九進数のループを教えていただきたいです。
年マタギする部分が一番分からないので、平成24年にまたぐ瞬間をどのように書けばよいのか教えてください。
平成○○年のところを月変換し、変換した値とその月の合計値を9で割れば
9進数の計算ができるかと思います。
以下参考までに
#!/usr/bin/perl use strict; use warnings; #平成23年 for my $tuki(1..12){ &keisan(23,$tuki); } #平成24年 for my $tuki(1..12){ &keisan(24,$tuki); } sub keisan { my ($heisei,$tuki) = @_; my $tuki_sum = $heisei * 12 + $tuki; my $amari = $tuki_sum % 9; if($amari == 7){ print "平成".$heisei."年".$tuki."月=9\n"; } if($amari == 8){ print "平成".$heisei."年".$tuki."月=8\n"; } if($amari == 0){ print "平成".$heisei."年".$tuki."月=7\n"; } if($amari == 1){ print "平成".$heisei."年".$tuki."月=6\n"; } if($amari == 2){ print "平成".$heisei."年".$tuki."月=5\n"; } if($amari == 3){ print "平成".$heisei."年".$tuki."月=4\n"; } if($amari == 4){ print "平成".$heisei."年".$tuki."月=3\n"; } if($amari == 5){ print "平成".$heisei."年".$tuki."月=2\n"; } if($amari == 6){ print "平成".$heisei."年".$tuki."月=1\n"; } } exit;
実行結果
--------------------------------
平成23年1月=9
平成23年2月=8
平成23年3月=7
平成23年4月=6
平成23年5月=5
平成23年6月=4
平成23年7月=3
平成23年8月=2
平成23年9月=1
平成23年10月=9
平成23年11月=8
平成23年12月=7
平成24年1月=6
平成24年2月=5
平成24年3月=4
平成24年4月=3
平成24年5月=2
平成24年6月=1
平成24年7月=9
平成24年8月=8
平成24年9月=7
平成24年10月=6
平成24年11月=5
平成24年12月=4
--------------------------------
平成○○年のところを月変換し、変換した値とその月の合計値を9で割れば
9進数の計算ができるかと思います。
以下参考までに
#!/usr/bin/perl use strict; use warnings; #平成23年 for my $tuki(1..12){ &keisan(23,$tuki); } #平成24年 for my $tuki(1..12){ &keisan(24,$tuki); } sub keisan { my ($heisei,$tuki) = @_; my $tuki_sum = $heisei * 12 + $tuki; my $amari = $tuki_sum % 9; if($amari == 7){ print "平成".$heisei."年".$tuki."月=9\n"; } if($amari == 8){ print "平成".$heisei."年".$tuki."月=8\n"; } if($amari == 0){ print "平成".$heisei."年".$tuki."月=7\n"; } if($amari == 1){ print "平成".$heisei."年".$tuki."月=6\n"; } if($amari == 2){ print "平成".$heisei."年".$tuki."月=5\n"; } if($amari == 3){ print "平成".$heisei."年".$tuki."月=4\n"; } if($amari == 4){ print "平成".$heisei."年".$tuki."月=3\n"; } if($amari == 5){ print "平成".$heisei."年".$tuki."月=2\n"; } if($amari == 6){ print "平成".$heisei."年".$tuki."月=1\n"; } } exit;
実行結果
--------------------------------
平成23年1月=9
平成23年2月=8
平成23年3月=7
平成23年4月=6
平成23年5月=5
平成23年6月=4
平成23年7月=3
平成23年8月=2
平成23年9月=1
平成23年10月=9
平成23年11月=8
平成23年12月=7
平成24年1月=6
平成24年2月=5
平成24年3月=4
平成24年4月=3
平成24年5月=2
平成24年6月=1
平成24年7月=9
平成24年8月=8
平成24年9月=7
平成24年10月=6
平成24年11月=5
平成24年12月=4
--------------------------------
素晴らしいですね。朝飯前って感じですね。すごい!!
このアルゴリズムが計算できなくて、、、。
助かりました。使わせていただきます!!
use strict;
use warnings;
my $heisei = 23;
my $month = 1;
my $nine = 9;
my $range = 24;
for(my $i = 1; $i < $range; $i++){
print "平成$heisei年$month月=$nine\n";
$month++;
if($month == 13){
$heisei++;
$month = 1;
}
$nine--;
$nine = 9 if $nine == 0;
}
■実行結果
平成23年1月=9
平成23年2月=8
平成23年3月=7
平成23年4月=6
平成23年5月=5
平成23年6月=4
平成23年7月=3
平成23年8月=2
平成23年9月=1
平成23年10月=9
平成23年11月=8
平成23年12月=7
平成24年1月=6
平成24年2月=5
平成24年3月=4
平成24年4月=3
平成24年5月=2
平成24年6月=1
平成24年7月=9
平成24年8月=8
平成24年9月=7
平成24年10月=6
平成24年11月=5
$nine--;の部分が・・・。ただマイナスにするだけではだめなんです。惜しい・・・。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | ![]() |
516回 | 420回 | 40回 | 2011-01-28 14:33:34 |
素晴らしいですね。朝飯前って感じですね。すごい!!
このアルゴリズムが計算できなくて、、、。
助かりました。使わせていただきます!!