The basic idea of apportionment is trivial: Representation is proportional to population, and every state gets at least one seat. But the detailed algorithm — in particular the tie-breaking rules — is not a trivial problem. The following summary mentions no less than eight different algorithms that have been proposed.
For example, suppose that states A, B, C have populations of 601k, 600k, 200k respectively.
If the House has 7 seats, it's easy: 3-3-1 ,,, Perfect!
With 8 seats, 4-3-1, 9 seats 4-4-1, 10 seats 4-4-2. All pretty logical. In the 8-seat case, A gets an extra seat even though its population is only a tiny bit bigger than B, but what can you do?
However, what if Congress has set the size at 11 seats? 5-5-1 is the logical apportionment and is the allocation found by both the Hamilton and Jefferson algorithms. But this means the representation of State C
falls from 2 seats to 1, when the size of Congress
rises from ten (4-4-2) to eleven (5-5-1)! This absurdity is called the "Alabama Paradox." Wikipedia discusses this and other
Apportionment paradox es.
The Hamilton algorithm was passed by the first Congress but Washington vetoed it (his only 1st term veto). Congress then adopted the Jefferson algorithm which was used after the first six censuses. Both these schemes suffer from the Alabama Paradox (as we saw above) but that wasn't a concern then, since the House size had not been preset. (If we wait until after the census to decide how many seats the House will have, we can hand-pick that number and may avoid such problems.)
The Jefferson arithmetic was known to be slightly biased in favor of large states; J.Q. Adams proposed an alternative, biased for small states; Daniel Webster and mathematician James Dean each also provided a plan to a Congressional committee, but Congress plodded along with the Jefferson arithmetic, biased for large states. (Since small states have Senators, biasing the House for large states seems a good idea to me.)
But all this time, the House size was fixed
after the census, when the "divisor" (the minimum district population) was set. After 1830, future-President Polk, handy with arithmetic and then Chairman of the House Apportionment Committee, set the divisor so that Georgia, Kentucky and New York would each get an extra seat. These were Jackson states; this ploy eventually helped Polk win the big job!
Jackson's opponents in Congress saw what had happened too late, but after the 1840 census there was a flurry of consternation, Webster's arithmetic was adopted, and the number of seats in the House decreased from 242 to 233.
To stop this partisan wrangling, legislation was passed before the 1850 census to keep the House fixed at 233 seats and adopt Hamilton's algorithm — the arithmetic vetoed by Washington almost 60 years before. This may have solved the naked partisanship but arithmetic paradoxes like the "Alabama paradox" came to light. After the 1880 and 1890 censuses, Congress addressed this problem by hand-picking sizes for the House where the Hamilton and Webster algorithms produced the same result. After the 1900 census, a kluged Hamilton-Webster combined algorithm was used! Finally, after the 1910 census Congress fixed the House size at 433 and adopted Webster's algorithm.
In the early 1920's Congress was so partisan that no re-apportionment was done. The House allocation was still set based on the 1910 census. In 1929 Hoover called a special session of Congress, which fixed the House size at 435 and agreed to Webster's algorithm. In 1940, Congress switched to a Huntington-Hill algorithm which has been used ever since. Mathematicians have since found a Balinski-Young algorithm which avoids some of the flaws of Huntington-Hill, but it seems Congress has had enough of all this arithmetic!