お遊び記事です.【追記】お遊びのつもりが,とても秀逸な別解がコメント欄に集まりましたので,そちらもぜひ御参照下さい.とりあえず,J言語すげえ. アルゴリズムと実装 主に関数型リスト処理を用いて,$x$を$2〜x-1$の各整数で割った余りのリストに0が含まれていなければ$x$を素数と判定しています.このため,任意範囲の整数リスト生成(range等),リスト各要素への関数適用(map等),リストに特定の値が含まれているかの判定(include等),条件を満たした要素のみをリストから取り出す処理(filter等)を行う関数があると,より短いワンライナーとなります. 各言語での記述例 $1<n<100$の$n$について素数判定を行った結果を表示しています.どうしても長くなりがちなので,字句解析が可能な程度に空白等を詰めています. >> ->n{(2...n).reject{|x|(2...x).m