How many pages does the result set need
A paginated API needs to know how many pages to render. Divide the total items by the page size and round up.
- Return ceil(items / perPage) using integer arithmetic.
- If items is zero or negative, return 0.
- If perPage is zero or negative, return 0.
pages_total(items: int, per_page: int) → int
Where you start
def pages_total(items: int, per_page: int) -> int:
Worked examples
| Call | Result |
|---|---|
pages_total(10, 3) | 4 |
pages_total(9, 3) | 3 |
pages_total(0, 5) | 0 |
pages_total(5, 0) | 0 |
Hint
The classic integer ceil is (items + perPage - 1) / perPage.
Reference solution in Python
def pages_total(items: int, per_page: int) -> int:
if items <= 0 or per_page <= 0:
return 0
return (items + per_page - 1) // per_page