이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
하재승 손님
|
올려짐: 2007년11월21일 15:52 주제: factorial 세가지 버젼 테스트 프로그램 |
|
|
코드: |
let
val I = fn x => x
val J = fn x => x
val K = fn x => fn y => y x
val writef = fn x => write x
val r = malloc 1
in
let rec mul = fn y => fn x => if (y = 0) then 0 else x+(mul x (y-1))
in
let rec fac = fn x => if (x = 0) then 1 else mul x (fac (x-1))
in
let rec fac2 = fn x => fn y=> if (x = 0) then y else fac2 (x-1) (mul x y)
in
let rec fac3 = fn x => fn r=> if (x = 0) then r:=1 else (fac3 (x-1) r; r := (mul x !r ))
in
K ((I J (fn x=>x)) 3 ) writef;
write (mul 10 10);
K (fac 9) writef;
K (fac2 9 1) writef;
r := 5;
fac3 9 r;
write !r
end
end
end
end
end
|
|
|
위로 |
|
|
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|