게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

재귀함수의 인자가 크면 오류뜹니다

 
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
유.강민



가입: 2011년 3월 22일
올린 글: 38

올리기올려짐: 2011년5월1일 0:20    주제: 재귀함수의 인자가 크면 오류뜹니다 인용과 함께 답변

코드:
(rec x y => ifzero y then 0 else (y+ (x (y-1)))) 4

위같은 식에서 인자가 5이상일떄 리듀스하면 결과가 깨져있습니다.
제 코드가 문제있는건지 몰라서 아님 오캐밀의 제한인지 잘 모르겠습니다..
근데 이전 버전의 스케레톤 쓸때 reduce함수를 lazy evaluation에서 eager하게 바꾸면 해결이 돼긴했었는데
새로운 스케레톤에서는 eager로 구현해도 해결이 안됩니다.
----------
재차 확인결과 제 코드 문제였습니다 ^^;;


유.강민 가 2011년5월2일 15:58에 수정함, 총 1 번 수정됨
위로
사용자 정보 보기 비밀 메시지 보내기
이원찬



가입: 2010년 3월 4일
올린 글: 34

올리기올려짐: 2011년5월2일 3:20    주제: 인용과 함께 답변

일단 결과가 깨져있다는 말이 무슨 뜻인지 모르겠습니다.
예외가 발생한다는 말인가요?
그리고 조교의 모범답안은 인자가 20인 경우에 대해서도 오류 없이 동작합니다.
그 말은 OCaml의 문제는 아니라는 이야기겠죠?
본인의 구현을 다시 살펴보시기 바랍니다.
제 짐작으로는 구현하신 코드에서 OCaml의 재귀호출을 너무 많이 발생시켜서
call stack overflow가 나는 것 같습니다.
질문 내용만으로는 이 밖에 어디가 문제가 될 지 떠오르지 않네요.
좀 더 구체적으로 문제가 되는 부분을 말씀해주시겠습니까?
위로
사용자 정보 보기 비밀 메시지 보내기 글 올린이의 웹사이트 방문
이전 글 표시:   
이 게시판은 잠겼으므로 글을 올리거나, 답변을 하거나 수정을 할 수 없습니다   이 주제는 잠겼으므로 답변을 하거나 수정을 할 수 없습니다     게시판 인덱스 -> 4190.310 Programming Languages (Spring 2011) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay