極悪です。
>Perl には Math::BigInt と言うパッケージが有りますが,
>変な使い方をさせられます.(そのため,引数に制限有り)
この BigInt オブジェクトは文字列の "1" をくっつけても
大丈夫みたいです(10 で割る代わりに chop とかもOK)。
D:%perl hoge.pl 81
+81 x +13717421124828532235939643347050754458161865569272976
68038408779149519890260631 = +111111111111111111111111111111
111111111111111111111111111111111111111111111111111
D:%
use Math::BigInt;
my $k = Math::BigInt->new(1);
my $n = Math::BigInt->new(0+shift) or die;
$k .= "1" while $k % $n;
my $m = $k / $n;
print qq($n x $m = $k\n);
--
FZH01112@..., http://homepage1.nifty.com/dune/