천장 함수(Ceiling Function)란?
천장 함수(Ceiling function)는 주어진 실수를 가장 작은 정수로 올림하는 함수입니다. 천장 함수는 일반적으로 **⌈x⌉**와 같은 형태로 표현됩니다.
천장 함수 (Ceiling Function): ⌈x⌉
x보다 크거나 같은 가장 작은 정수를 반환합니다.
올림 처리란?
올림 처리는 실수의 소수점 부분을 올려서 가장 작은 정수로 만드는 연산입니다. 예를 들어, 2.3을 올림 처리하면 3이 됩니다.
올림 처리 (ceil 처리): ⌈x⌉
예: ⌈3.2⌉ = 4, ⌈5.1⌉ = 6, ⌈−2.8⌉ = −2
음수일 경우에도 소수점을 버리지 않고 "가장 가까운 큰 정수"로 이동합니다.
천장 함수의 수식으로 표현
천장 함수는 x라는 실수를 가장 작은 정수로 올리는 함수입니다. 이 함수는 소수점 이하 부분을 올려서 정수로 만들기 위한 함수로 사용됩니다.
⌈x⌉: x보다 크거나 같은 가장 작은 정수
예: ⌈5.1⌉ = 6, ⌈2.8⌉ = 3
수식으로 표현된 올림 처리
올림 처리는 배열의 길이를 그룹 크기로 나누었을 때, 필요한 그룹 수를 계산하는 데 유용합니다. 예를 들어, 배열을 5명씩 그룹으로 나누고 싶을 때, 배열의 길이를 5로 나누고 나머지가 있는 경우 그룹을 하나 더 추가하는 방식입니다.
기본 수식 (천장 함수 사용):
배열의 길이 L과 그룹 크기 n이 주어졌을 때, 필요한 그룹 수는 올림 함수를 사용하여 계산할 수 있습니다:
⌈L / n⌉
천장 함수의 수식 변환 (수학적 근사)
천장 함수를 프로그래밍에서 바로 사용할 수 없는 경우, 수학적으로 올림 처리를 근사할 수 있는 수식을 사용할 수 있습니다. 바로 몫을 구하고, 그 값에 1을 더하는 방식입니다.
수식 근사:
배열 길이 L과 그룹 크기 n에 대해, 천장 함수를 사용하여 올림 처리된 그룹 수를 계산하는 수식은 다음과 같습니다:
⌈L / n⌉ = (L - 1) / n + 1
이 수식은 나누기 연산 후 소수점 부분을 버리고, 그 값에 1을 더하는 방식으로 천장 함수를 근사하여 올림 처리를 하는 효과를 얻습니다.
예시:
배열 길이 L = 12, 그룹 크기 n = 5일 경우:
(12 - 1) / 5 + 1 = 11 / 5 + 1 = 2 + 1 = 3
따라서, 12명을 5명씩 묶으면 3개의 그룹이 필요합니다.