というわけで今日から学校が始まりました。
まぁ、11、12、13って学校行ったらもう終わりだったりするんですが(爆死
あとは期末試験で完全に終了〜
と言っても、最大の関門であるMLのレポートとか英語のテストとかが残ってたりするんですが_| ̄|○
MLとかねぇ…もう最強にクソなプログラムで済ませましたよ('A`)
パズルを解くプログラムを作成するのが課題だったんですけど、選択したパズルは覆面算。
あいあ 343
+うえお +590
 ̄ ̄ ̄ ̄ ̄ →  ̄ ̄ ̄ ̄ ̄
えああ 933
こんなヤツですね。
これを解くプログラムを組むことにしたんですが、最強に手抜き(死
字数制限のキツイひまじんにさえアップできる内容ですw
datatype answer = Fault | Solution of int * int * int
exception Error
fun isequal L (x,y) = (List.nth(L,x) = List.nth(L,y))
fun toList (x,y) = explode ((Int.toString x)^(Int.toString y)^(Int.toString (x+y)))
fun isGoal (x,y) = (List.all (isequal (toList (x,y))) eqlist)
andalso (List.all (not o (isequal (toList (x,y)))) neqlist)
fun sol (x,y,a) = if x=a then Fault
else if y=a then sol (x+1,a div 10,a)
else if isGoal(x,y) then Solution(x,y,x+y)
else sol (x,y+1,a)
fun solve x = if x=2 then sol ( 10, 10, 100)
else if x=3 then sol (100,100,1000)
else raise Error
こんな感じ(゜∀。)
このままじゃあまりにも手抜きすぎるので誰か改良してください(←× |