If you know the number of segments, why not throw up a progress-bar with equal sized segments (stacked bars) and compute the progress for the current
segment only when it is open. Prior to that segment it is assumed 0, after it (the segment) is assumed 100. No need to compute all segments at once.
Slightly non-linear display, BUT, That is closer than anything we have on many reader devices