Alright, I did a bit of spreadsheet math here. (What can I say, I'm lazy) Without bonuses above and beyond what I'd expect out of having high moral, (+100% or +25%) I can't figure out how the population got so high so quickly.
Here's what we'd expect:
On normal moral, we have fCurrentPop = fLastWeekPop * 1.03;
On high moral (+100%), we have fCurrentPop = fLastWeekPop * (1.03 + (0.03 * 1.00) ); //effectively, pop growth = 1.06, double normal rate
On good moral, (+25%), we have fCurrentPop = fLastWeekPop * (1.03 + (0.03 * 0.25) ); //rounded to the hundredths place, this is pop growth = 1.04, or staying at true floating point, it's 1.0375
My spreadsheet, however, says that in order for growth the get past 225 from 5, we need a growth rate of 1.08 for the majority of the time... For an entire year at that growth rate, we get 273,530Million... If we take week 49's population of 201B, and reduce that down to the normal 1.03 growth, then we'll get 226.226B, much closer to your actual results.
So, if there are absolutely no bonuses, other than moral, then you're doing the impossible, and have likely found a bug.
Here's what the code should look like...
fCurrentPop = fLastWeekPop * (1.03 + (0.03 * fMoralBonus) + (0.03 * fOtherBonus) );
Of course, I don't like hard coding constants, 'cause there are modders out there that like to tweak settings. Instead, I'd choose to read the base growth rate from a file.
That would give me the following code:
fCurrentPop = fLastWeekPop * (1+ fPopRate + (fPopRate * fMoralBonus) + (fPopRate * fOtherBonus) );
Now, even with keeping in mind the bug that I suspect, I still started writing the bug in...
Here's what I think the bug is...
fCurrentPop = fLastWeekPop * (1.03 + (1.03 * fMoralBonus) + (1.03 * fOtherBonus) );
Instead of multiplying the bonus by 0.03, the bonus is multiplied by 1.03... giving us a total bonus of 2.06 on 100% moral, and a bonus of 1.355 on 75%+ moral.
Since a planet's population affects the moral, we'll probably see one week of 100% moral, followed by a couple of weeks of 75%+ moral before the planet gets too full to get the astronomical bonuses. Imagine every single taxpayer, male or female, having a kid, plus an extra 6% of the people coming out of the woodwork to pay taxes, each week that there is 100% moral. Every week, there'd also be a little more than a third of the population having a kid each week. That's one short gestation period.
Now, since I don't have 1.1B yet, I can't verify this bug myself... but here's how you can verify it.
Look at the population each week... If it doubles, then slows down to what would then be expected levels, then the code has an extra 1 where there should be a 0.