01არითმეტიკა საათზე
a mod m არის m-ზე გაყოფის ნაშთი, მნიშვნელობა 0..m−1-დან. წარმოიდგინე საათი: 15 საათი 12-საათიან ციფერბლატზე 3-ია. სასარგებლო ფაქტი ისაა, რომ შეკრების, გამოკლებისა და გამრავლებისას შეკვეცა ნებისმიერ მომენტში შეიძლება:
(a + b) mod m = ((a mod m) + (b mod m)) mod m(a · b) mod m = ((a mod m) · (b mod m)) mod m
ასე რომ გრძელ ნამრავლს არასოდეს სჭირდება დიდი იყოს: ყოველი ბიჯის შემდეგ შეკვეცე. ორი გაფრთხილება. C++-სა და Java-ში გამოკლება შეიძლება უარყოფითი გახდეს (-3 % 10 == -3), ამიტომ დაწერე ((a - b) % m + m) % m. გაყოფა კი ასე არ მუშაობს. მის ნაცვლად შებრუნებულზე ამრავლებ, რომელსაც ქვემოთ სწრაფი ახარისხებით მივიღებთ.