- 733 名前:デフォルトの名無しさん mailto:sage [2018/11/25(日) 23:28:07.03 ID:DgoPPid/.net]
- >>664 Perl5 普通のloop版
use feature qw{current_sub say}; for (qw{321 910 909 0 11111 123456789}) { $a = $_; $s = 1; @d= (); do { $d = int $a / 10*$s; $m = $a % (10*$s); unshift @d, $m*$s; $s *= -1; $a = ($a - $m)/10; } while $a; say "$_ $d => ", @d; } >>664 Perl5 無名関数の末尾再帰版 use feature qw{say}; for (qw{321 910 909 0 11111 123456789}) { $s = 1; say "$_ $d => ", sub { $a = shift; $d = int $a / 10*$s; $m = $a % (10*$s); my $ms = $m*$s; $s *= -1; $a = ($a - $m)/10; (($a ? __SUB__->($a) : ()), $ms); }->($_); }
|

|