J-87文字
Jでこれを行う単純な試み。標準ライブラリを使用しない。ただし、これを使用することで短縮されるとは思えない。
((sad`happy{~1 e.(,[:+/@:*:,.&.":@{:)^:(1-{:e.}:)^:_);@,' ';'gtv]non-prime'}.~4+4*1&p:)
'((ad`app{~1 .(,[:+/@:*:,.&.":@{:)^:(1-{:.}:)^:_);@, ;onprm}.~4+4*1&p:)']'eighty-seven'
('(ad`app{~1 .(,[:+/@:*:,.&.:@{:)^:(1-{:.}:)^:);@, ;onprm}.~4+4*1&p:']'eighty-seven'"_)
一番上の行は、整数を取り、その幸福と素数を出力文字列として診断する動詞です。2行eighty-seven目は文字列を返す式で、3行目は同じことをする定数関数です。どちらも可能であり、プログラムの回答とは対照的に、関数の回答に対する判決がどうなるかわからないため、両方を含めました。Jには引数のない関数などはありません。関数に仮引数。
私たちは幸福をチェックするイワナのほとんどを失います。(,[:+/@:*:,.&.":@{:)は、数値の数字の2乗を合計する本体であり、(1-{:e.}:)その数値がまだ発生しているかどうかのテストです。sad`happy{~1 e.これを単語の結果に変え、それを文字列の前に付けnon-primeます。数字が実際に素数である場合、4文字を切り落とす可能性があります。
アナグラム'eighty-seven'では、無視する文字列にないすべてのビットを非表示にします。Jに再利用する文字が多ければもっとうまくいくはずですが、そうではないので、まあ。
/*program1*/program2、その後はprogram1/*program2*/?コメントは禁止すべきだと思います。