[過去ログ] プログラミングのお題スレ Part13 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
666
(4): 2019/03/14(木)18:00 ID:38t26SL0(1/2)調 AAS
お題: 何も出力しないプログラム自身のコードをソートするとhello worldを出力するプログラムを作れ
692: 2019/03/15(金)00:50 ID:ltf0XXfV(1/2)調 AAS
>>666 I
行単位で昇順にソートする場合

exit
"hello world" println

文字単位のソートの場合は難しそう。
699: 2019/03/15(金)10:50 ID:ltf0XXfV(2/2)調 AAS
>>666 Lua

a=ture
a=a or print("hello world")
702
(1): 2019/03/15(金)12:06 ID:phFelL6J(1/2)調 AAS
>>666
「ソートすると」ではなく「ソートしてからその出力を実行またはコンパイルして実行すると」なのでは?
712: 2019/03/16(土)06:51 ID:x9tnPyz1(1)調 AAS
>>666

Haskell
空文字は出力しないと動かないから許して。(動く場合はmain =でパターンマッチして出力文埋め込むだけだけど)
ソートした自身の書き込み先、実行先は自身じゃ無いといけないとは書いてない。

import System.Process

main = putStr "" >> readFile "runmyself.hs" >>= \f -> writeFile "runmyself2.hs" ((replace.unlines.qsort.lines) f) >> callCommand "runghc runmyself2.hs"

replace [] = []
replace (p:u:t:s:t2:r:x:y:z:xs) | (p:u:t:s:t2:r:x:y:z:[]) == "putStr \"\"" = "putStrLn \"Hello World\"" ++ replace xs
replace (a1:a2:a3:a4:a5:a6:a7:a8:a9:a10:a11:a12:a13:a14:a15:a16:a17:a18:a19:a20:a21:a22:a23:a24:a25:a26:a27:a28:a29:a30:a31:a32:a33:a34:a35:a36:a37:xs) |
(a1:a2:a3:a4:a5:a6:a7:a8:a9:a10:a11:a12:a13:a14:a15:a16:a17:a18:a19:a20:a21:a22:a23:a24:a25:a26:a27:a28:a29:a30:a31:a32:a33:a34:a35:a36:a37:[]) == ">> callCommand \"runghc runmyself2.hs\"" = "" ++ replace xs
replace (x:xs) = x:replace xs

qsort [] = []
qsort (x:xs) = qsort [s| s <- xs, s <= x] ++ [x] ++ qsort [l| l <- xs, l > x]
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s