Division By Repeated Subtraction
The simplest division algorithm, historically incorporated into a greatest common divisor algorithm presented in Euclid's Elements, Book VII, Proposition 1, finds the remainder given two positive integers using only subtractions and comparisons:
while N ≥ D do N := N - D
end
return N
The proof that the quotient and remainder exist and are unique, described at Euclidean division, gives rise to a complete division algorithm using additions, subtractions, and comparisons:
function divide(N, D) if D == 0 then throw DivisionByZeroException end if D < 0 then (Q,R) := divide(N, -D); return (-Q, R) end if N < 0 then (Q,R) := divide(-N, D); return (-Q - 1, D - R) end // At this point, N ≥ 0 and D > 0 Q := 0; R := N while R ≥ D do Q := Q + 1 R := R - D end return (Q, R)
end
This procedure always produces R ≥ 0. Although very simple, it takes Ω(Q) steps, and so is exponentially slower than even slow division algorithms like long division. It is useful if Q is known to be small (being an output-sensitive algorithm), and can serve as an executable specification.
Read more about this topic: Division (digital)
Famous quotes containing the words division and/or repeated:
“For in the division of the nations of the whole earth he set a ruler over every people; but Israel is the Lords portion: whom, being his firstborn, he nourisheth with discipline, and giving him the light of his love doth not forsake him. Therefore all their works are as the sun before him, and his eyes are continually upon their ways.”
—Apocrypha. Ecclesiasticus 17:17-9.
“The poem of the mind in the act of finding
What will suffice. It has not always had
To find: the scene was set; it repeated what
Was in the script.
Then the theatre was changed
To something else. Its past was a souvenir.”
—Wallace Stevens (18791955)