正の整数のリストを与えられたとき、数を並び替えて可能な最大数を返す関数を記述せよ。例えば、[50, 2, 1, 9]が与えられた時、95021が答えとなる
perl -le 'print join "", reverse sort @ARGV' 50 2 1 9
perl -le ' print join "", reverse sort { my $t=substr($a, 0, 1); $t != substr($b, 0, 1) ? ($a cmp $b) : ($a.($t x length($b)) cmp $b.($t x length($a))) } @ARGV' 50 5 55 1 10 11 9
1,2,...,9の数をこの順序で、"+"、"-"、またはななにもせず結果が100となるあらゆる組合せを出力するプログラムを記述せよ。例えば、1 + 2 + 34 - 5 + 67 - 8 + 9 = 100となる
ワンライナー:perl -le ' for (0..3**8) { my $s = 1; my $n = $_; for (2..9) { $s .= ("+", "-", "")[$n % 3].$_; $n /= 3; } print $s if eval($s) == 100; }'
perl -le 'for(0..3**8){$s=1;$n=$_;for(2..9){$s.=("+","-","")[$n%3].$_;$n/=3}print $s if eval($s)==100}'
村上作品に関する素朴なクエスチョンから、日常生活のお悩み、ジャズ、生き方、翻訳小説、社会問題、猫、スワローズ、そして珍名ラブホテルまで--。期間限定サイト「村上さんのところ」に寄せられた37465通の質問・相談メールに、村上春樹が3か月半にわたって続けた回答は、およそ3500問! そのすべてを完全収録し、ウェブサイト掲載時と同様の横組みスタイルで再現。単行本8冊分の愉しみを、スマホやパソコン、タブレットや電子書籍端末にダウンロードして、手軽にたっぷり楽しめるコンプリート版! 7月下旬〜8月発売予定。
私は正直なところ、冒頭で紹介した朝日新聞社説に対して、
「ブラックホール化した/しかねない貧困状態の人が身近にいた経験を持っていたら、こんなことを簡単に書けるわけはないのでは?」
と思いました。
体験をしたことのない人の正論は参考にはなるけど、説得力に欠ける。「べき論」「べし論」の話です。体験にもいろんなレベルやカテゴリがあって一概には言えないけど、多くの場合はその通りかと。