어떤 파일을 특정 크기의 파일 조각으로 나눌때 필요한 파일 조각 갯수를 구하는 공식의 증명 어떻게 해야죠?
글쓴이: emptynote / 작성시간: 토, 2013/11/23 - 9:36오전
어떤 파일을 특정 크기의 파일 조각으로 나눌때 필요한 파일 조각 갯수를 구하는 공식의 증명 어떻게 해야죠?
이렇때 공부 않하고 나이만 먹었구나 그런 생각이 듭니다.
(정수){(파일 크기 + "파일 조각 크기" - 1) / "파일 조각 크기"} = 필요한 파일 조각 갯수
공식처럼 외운거라 막상 증명해 보겠다고 노트에 끄졌였지만 자신이 없네요.
정리1) 파일 조각크기, 파일 크기, 필요한 파일 조각 갯수는 양의 정수이다.
정리2) 나머지 = 필요한 파일 조각 갯수 * 파일 조각 크기 - 파일 크기
정리3) 0<= 나머지 < 파일조각 크기
정리4) 나머지 = 파일 조각크기 - 1 일 경우 위의 정리들을 만족함
비겁한 변명을 하자면 저는 수학과가 아닙니다.
Forums:
참고만..
a = 파일크기
b = 조각크기
c = 개수
이렇게 쳤을 때, 조건상 b * c 에서 a를 뺐을 때 b보다는 작아야 합니다. (b보다 같거나 크면 파일은 넣을 수 있으나 잉여공간이 생김)
그리고 0보다는 같거나 커야 되겠죠, 안그러면 전체 컨텐츠를 담을 수 없으니.. 따라서 0 <= bc - a < b가 성립합니다. 이걸 전체적으로 b로 나눕니다. b는 양의 정수이므로 부등호는 안바뀝니다.
0 <= c - a/b < 1 즉
fn(c - a/b) = 0 이라는 뜻입니다.
여기서 fn 함수는 실수를 받아들여서 소숫점을 버리는 것을 의미.
이제 본문의 공식을 다시 적어보면.. fn{(a + b - 1)/b)} = c 입니다. 양변에 fn의 역함수를 먹이면..
(a + b - 1) / b = c + x 가 됩니다. (0 <= x < 1; x가 음수가 못되는 이유는 그럴경우 fn을 먹였을때 c-1이 되기 때문)
-> a/b + 1 - 1/b = c + x
이걸 먼저 구한 식과 비슷하게 짜맞추면..
c - a/b = 1 - 1/b - x 가 됩니다.
양변에 fn을 다시 먹이면..
fn(c - a/b) = fn(1 - 1/b - x)가 됩니다.
좌변이 0임은 위에서 보여주었으므로 이제 남은건 우항이 0이라는 것을 증명하는 겁니다.
그런데 여기서 b는 양의 정수라 했습니다. 따라서 (1/b)는 1보단 같거나 작고 0보단 크게 됩니다. 즉, 1-1/b는 0보다는 크거나 같고 1보다는 작게 됩니다. x도 마찬가지죠. 결국 우변 자체가 -1과 1 사이(두 값 자체는 포함X)에서만 놀게 됩니다. 따라서 fn을 씌우면 0이 됩니다. 0 = 0이므로 증명 끝.
아마 분명 틀렸을겁니다. ㅎㅎ 혹시 도움이 될까 해서 적어봅니다.
--
감사합니다. ^^
개인 프로젝트 진행중에 파일 송수신 기능을 만들었는데,
아무 생각없이 인용한 공식을 남들한테 어떻게 납득을 시킬 수 있을까?
불현듯 이런 생각이 나서 쓴 글입니다.
설명해 주신 내용 이해가 쉬워 감사한 마음으로 읽어 보았습니다.
제 부족함을 볼 수 있는것이 저는 1.2 는 1이다 식으로 말로 때우는식인데 그것이 fn 이라는 함수 표기로 표현이 되는군요.