Skip to content

Instantly share code, notes, and snippets.

@chris-x86-64
Last active December 21, 2015 15:39
Show Gist options
  • Save chris-x86-64/6327655 to your computer and use it in GitHub Desktop.
Save chris-x86-64/6327655 to your computer and use it in GitHub Desktop.
千反田える
#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
my @numeric_characters = ('', '一', '二', '三', '四', '五', '六', '七', '八', '九');
my @digits = ('', '十', '百', '千');
my @alphabets = (
'えー',
'びー',
'しー',
'でぃー',
'いー',
'えふ',
'じー',
'えいち',
'あい',
'じぇー',
'けー',
'える',
'えむ',
'えぬ',
'おー',
'ぴー',
'きゅー',
'あーる',
'えす',
'てぃー',
'ゆー',
'ぶい',
'だぶりゅー',
'えっくす',
'わい',
'ぜっと'
);
for my $count (1 .. 1000) {
my @number_kanji;
my @number = reverse($count =~ /\d/g);
for my $i (0 .. $#number) {
push (@number_kanji, $digits[$i]) if $number[$i] >= 1;
push (@number_kanji, $numeric_characters[ $number[$i] ]) if ($number[$i] > 1) or ($i == 0);
}
print reverse(@number_kanji);
say '反田' . $alphabets[ ($count - 1) % 26 ];
}
@chris-x86-64
Copy link
Author

最後が「一千反田える」という表示になるのが気に入らない

@chris-x86-64
Copy link
Author

Rev. 2では一番最後が「千反田える」と出力されるようになったが、1の位の「一」がすべて省略されてしまうので、11のときも「十反田けー」が出力されてしまう。

@chris-x86-64
Copy link
Author

0ケタ目 (すなわち一の位) については漢数字を出力するようにロジックを変えたら完璧になった。完成!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment