- プログラミングのお題スレ Part17
65 :デフォルトの名無しさん[sage]:2020/03/29(日) 14:05:00.00 ID:kU1QBoxf - >>61 Perl5 (もう少しスマートな書き方はあるかもしれないが…)
for (qw{[1] [2,3] [1,2,3] [1,3] [1,3,4,5]}) { @a = /(\d+)/g; %h = map{$_ => $_} @a; @b = map{$h{$_}//','} 1..1000; $"=','; $b = "@b"; $b =~ s/^,*(.+?),*$/$1/; @c = split /,,+/, $b; @d = map{[eval]} @c; @e = map{@$_ > 2 ? "$$_[0]-$$_[-1]" : "@$_"} @d; print "@e\n"; } 実行結果 ~ $ perl 17_61_resanc.pl 1 2,3 1-3 1,3 1,3-5
|
|