人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

プログラマ初心者です。Perlで占いのプログラムを作りたいのですが、暦を作りたいんです。
平成23年1月= 9
平成23年2月= 8
平成23年3月= 7



平成23年9月= 1

というような、9からはじまり1で終わり、また9から始まって1で終わるという九進数のループを教えていただきたいです。
年マタギする部分が一番分からないので、平成24年にまたぐ瞬間をどのように書けばよいのか教えてください。

●質問者: tisei
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:1月 24 3月 9月 Perl
○ 状態 :終了
└ 回答数 : 3/4件

▽最新の回答へ

1 ● snmp
●58ポイント ベストアンサー

平成○○年のところを月変換し、変換した値とその月の合計値を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

--------------------------------

◎質問者からの返答

素晴らしいですね。朝飯前って感じですね。すごい!!

このアルゴリズムが計算できなくて、、、。

助かりました。使わせていただきます!!


2 ● niwa-mikiho
●12ポイント

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--;の部分が・・・。ただマイナスにするだけではだめなんです。惜しい・・・。


3 ● imo758
●10ポイント

http://codepad.org/ydprbUoD

このようなものでよろしいのでしょうか?

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ