@just_fun i teraz pojwia się pytanie - czy powinno się wyważać otwarte drzwi
bo korzystanie z niektórych funkcji jest oczywiście wygodne, szybkie i w dużych projektach w 90% bardziej wydajne od tego co sami napiszemy 
ja uzywając spoja, polecam jednak ograniczanie funkcji bibliotek typu math
Ps: podawanie gotowego kodu nie jest zbyt kształcace ^^,
Ps: ja bez funkcji ceil, stworzyłem jeszcze krótszy kod od Twojego, ale się nie chwalę ^^
Ps: fakt, kod kolegi powyżej nie jest zbyt przejrzysty - ale cham ze mnie 
Pozdrawiam.