게시판 인덱스

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

Check_exp 에서

 
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2014)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
황재동



가입: 2014년 9월 2일
올린 글: 80

올리기올려짐: 2014년12월17일 22:30    주제: Check_exp 에서 인용과 함께 답변

repeat (
repeat (
repeat ( 50) read + 60001 - (repeat(10) read) ) read
+ 2147483648 -( repeat (483648) read + 1)
)
1

과 같은 경우에
실제 생각해보면
가장 안쪽의 repeat의 조건은 항상 true
그 바깥쪽의 repeat의 조건도 항상 true 60001 - 60read
그로 인해 마지막... 쪽의 조건도 항상 true가 되어서
repeat의 내부의 값의 범위는 12001 ~ 1
이를 x라 하면
x read + 2147483648 - (483648 + 483648read)
= 2147000000 + (483648 + x) read > 0


true를 return하는게 맞긴 합니다만,,,,

이렇게 read의 범위에 따른 값도 해주어야 하나요?


https://ropas.snu.ac.kr/phpbb/viewtopic.php?t=4709

이때의 답변 ( 권장하는 방법은 식이 가질 수 있는 범위를 고려하는 것입니다.)
로 미루어 보았을때...
해주어야 하는게 맞겠죠.....?
위로
사용자 정보 보기 비밀 메시지 보내기
jaewooklee



가입: 2014년 10월 3일
올린 글: 23

올리기올려짐: 2014년12월17일 23:52    주제: 인용과 함께 답변

저도 이 글을 보니 궁금해진 것이, 저희 프로그램이 2147483648같은 큰 수도 처리할 수 있어야 하나요? int가 32비트라고 해도 2147483647까지밖에 표현이 안되는데 OCaml은 garbage collection 때문에 int가 31비트라서 1073741823이상의 수는 표현하지 못하는 것으로 알고 있습니다. 사이즈가 너무 큰 input이 들어오는 경우는 고려하지 않아도 되는 것이겠죠?
위로
사용자 정보 보기 비밀 메시지 보내기
김윤승



가입: 2014년 9월 1일
올린 글: 452
위치: 302동 312-2호

올리기올려짐: 2014년12월18일 0:30    주제: 인용과 함께 답변

read의 값의 범위를 고려하는 것이 좋습니다.

큰 수에 대해서는 생각하지 않으셔도 됩니다.
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4190.210 Principles of Programming (Fall 2014) 시간대: GMT + 9 시간(한국)
페이지 11

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


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