The off-by-one error was in the original sum, so it's not obvious
in the simplified version of the sum. Fixing this greatly improved
the accuracy of the simple calculation for small counts, but I'm
leaving the recursive mode in. Maybe I'll lower the threshold,
though. 100 isn't a terribly small number.
Threw something together with a formula that should, for large
purchases, be roughly the same cost as normal. The formula change
may cause noticeable deviation from expected costs for low numbers
of upgrades, though, so I plan to fix that by having high
quantities handled differently than low ones if necessary.