fork download
  1. local NumYears = 1000 --How many years to estimate
  2. local MinFertile = 100 --Age krogan start reproducing
  3. local MaxFertile = 300 --Age krogan stop reproducing
  4. local KroganAge = 1000 --How old a krogan can get
  5. local Start_Population = 100000 --Number of initial krogans
  6. local TimeSkips = 10 --Population updates displayed every # years
  7. local Fertility = 1000 --Number of average children born by one mother each year
  8. local PercentPregnant = 0.04 --percent of population pregnant during the year
  9.  
  10. math.randomseed(os.time())
  11.  
  12. local Krogans = {}
  13.  
  14. do --randomizes current krogan population
  15. local sum = 0
  16. for i = 1, KroganAge do
  17. local x = i-KroganAge/2
  18. x = x*5/KroganAge
  19. Krogans[i] = math.exp(-((x)^2)/2)/math.sqrt(2*math.pi) --bell curve
  20. sum = sum + Krogans[i]
  21. end
  22.  
  23. local left = 0
  24. for i = 1, KroganAge do
  25. local a = Krogans[i]/sum*Start_Population
  26. left = left + (a-math.floor(a))
  27. local extra = math.floor(left)
  28. Krogans[i] = math.floor(a)+extra
  29. left = left - extra
  30. end
  31. end
  32.  
  33.  
  34. function NextYear()
  35. local Fertile = 0
  36. local Population = 0
  37. for i = MinFertile, MaxFertile do
  38. if Krogans[i] then
  39. Fertile = Fertile + Krogans[i]*0.5 --mult by 0.5 for fertile females (50% of population)
  40. end
  41. end
  42. for i = KroganAge, 2, -1 do
  43. if Krogans[i-1] then
  44. Krogans[i] = Krogans[i-1]
  45. Population = Population + Krogans[i]
  46. end
  47. end
  48. Krogans[1] = Fertile*Fertility*PercentPregnant
  49. Population = Population + Krogans[1]
  50. return Fertile, Population
  51. end
  52.  
  53. local words = {}
  54. words[9] = "Billion"
  55. words[12] = "Trillion"
  56. words[15] = "Quadrillion"
  57. words[18] = "Quintillion"
  58. words[21] = "Sextillion"
  59. words[24] = "Septillion"
  60. words[27] = "Octillion"
  61. words[30] = "Nonillion"
  62. words[33] = "Decillion"
  63. words[36] = "Undecillion"
  64. words[39] = "Duodecillion"
  65. words[42] = "Tredecillion"
  66. words[45] = "Quattuordecillion"
  67. words[48] = "Quindecillion"
  68.  
  69. function convert(n)
  70. if n <= 999999999 then -- credit http://r...content-available-to-author-only...n.it
  71. local left,num,right = string.match(n,'^([^%d]*%d)(%d*)(.-)$')
  72. return left..(num:reverse():gsub('(%d%d%d)','%1,'):reverse())..right
  73. else
  74. n = string.format("%18.0f",n):gsub("%s","")
  75. local digits = #n-1
  76. local choice = math.floor(digits/3)*3
  77. local num = (digits-choice)+1
  78. local str = string.sub(n,1,num).."."..string.sub(n,num+1,num+1).." "..words[choice]
  79. return str
  80. end
  81. end
  82.  
  83. for i = 1, NumYears do
  84. local Fertile, Population = NextYear()
  85. if i%TimeSkips == 0 then
  86. print("Year: "..i)
  87. print("Total Population:\t"..convert(math.floor(Population)))
  88. print("Fertile Females: \t"..convert(math.floor(Fertile)))
  89. print("----")
  90. end
  91. end
Success #stdin #stdout 0.27s 2836KB
stdin
Standard input is empty
stdout
Year: 10
Total Population:	2,782,126
Fertile Females: 	6,495
----
Year: 20
Total Population:	5,279,639
Fertile Females: 	6,042
----
Year: 30
Total Population:	7,599,920
Fertile Females: 	5,607
----
Year: 40
Total Population:	9,750,545
Fertile Females: 	5,191
----
Year: 50
Total Population:	11,739,254
Fertile Females: 	4,795
----
Year: 60
Total Population:	13,574,005
Fertile Females: 	4,420
----
Year: 70
Total Population:	15,262,756
Fertile Females: 	4,064
----
Year: 80
Total Population:	16,813,526
Fertile Females: 	3,728
----
Year: 90
Total Population:	18,234,273
Fertile Females: 	3,411
----
Year: 100
Total Population:	19,532,794
Fertile Females: 	3,115
----
Year: 110
Total Population:	318,855,428
Fertile Females: 	1,343,905
----
Year: 120
Total Population:	1.1 Billion
Fertile Females: 	2,592,420
----
Year: 130
Total Population:	2.4 Billion
Fertile Females: 	3,752,347
----
Year: 140
Total Population:	4.1 Billion
Fertile Females: 	4,827,475
----
Year: 150
Total Population:	6.3 Billion
Fertile Females: 	5,821,674
----
Year: 160
Total Population:	8.8 Billion
Fertile Females: 	6,738,922
----
Year: 170
Total Population:	11.7 Billion
Fertile Females: 	7,583,198
----
Year: 180
Total Population:	14.9 Billion
Fertile Females: 	8,358,512
----
Year: 190
Total Population:	18.4 Billion
Fertile Females: 	9,068,841
----
Year: 200
Total Population:	22.2 Billion
Fertile Females: 	9,718,085
----
Year: 210
Total Population:	50.2 Billion
Fertile Females: 	159,379,413
----
Year: 220
Total Population:	195.4 Billion
Fertile Females: 	566,989,304
----
Year: 230
Total Population:	557.0 Billion
Fertile Females: 	1.2 Billion
----
Year: 240
Total Population:	1.2 Trillion
Fertile Females: 	2.0 Billion
----
Year: 250
Total Population:	2.2 Trillion
Fertile Females: 	3.1 Billion
----
Year: 260
Total Population:	3.8 Trillion
Fertile Females: 	4.4 Billion
----
Year: 270
Total Population:	5.9 Trillion
Fertile Females: 	5.8 Billion
----
Year: 280
Total Population:	8.6 Trillion
Fertile Females: 	7.4 Billion
----
Year: 290
Total Population:	11.9 Trillion
Fertile Females: 	9.2 Billion
----
Year: 300
Total Population:	16.0 Trillion
Fertile Females: 	11.1 Billion
----
Year: 310
Total Population:	22.5 Trillion
Fertile Females: 	25.1 Billion
----
Year: 320
Total Population:	45.7 Trillion
Fertile Females: 	97.7 Billion
----
Year: 330
Total Population:	120.2 Trillion
Fertile Females: 	278.5 Billion
----
Year: 340
Total Population:	299.5 Trillion
Fertile Females: 	613.5 Billion
----
Year: 350
Total Population:	654.8 Trillion
Fertile Females: 	1.1 Trillion
----
Year: 360
Total Population:	1.2 Quadrillion
Fertile Females: 	1.9 Trillion
----
Year: 370
Total Population:	2.2 Quadrillion
Fertile Females: 	2.9 Trillion
----
Year: 380
Total Population:	3.7 Quadrillion
Fertile Females: 	4.3 Trillion
----
Year: 390
Total Population:	5.8 Quadrillion
Fertile Females: 	5.9 Trillion
----
Year: 400
Total Population:	8.6 Quadrillion
Fertile Females: 	8.0 Trillion
----
Year: 410
Total Population:	12.4 Quadrillion
Fertile Females: 	11.2 Trillion
----
Year: 420
Total Population:	19.0 Quadrillion
Fertile Females: 	22.8 Trillion
----
Year: 430
Total Population:	35.1 Quadrillion
Fertile Females: 	60.1 Trillion
----
Year: 440
Total Population:	76.6 Quadrillion
Fertile Females: 	149.7 Trillion
----
Year: 450
Total Population:	172.0 Quadrillion
Fertile Females: 	327.4 Trillion
----
Year: 460
Total Population:	365.9 Quadrillion
Fertile Females: 	636.8 Trillion
----
Year: 470
Total Population:	722.1 Quadrillion
Fertile Females: 	1.1 Quadrillion
----
Year: 480
Total Population:	1.3 Quintillion
Fertile Females: 	1.8 Quadrillion
----
Year: 490
Total Population:	2.2 Quintillion
Fertile Females: 	2.9 Quadrillion
----
Year: 500
Total Population:	3.7 Quintillion
Fertile Females: 	4.3 Quadrillion
----
Year: 510
Total Population:	5.8 Quintillion
Fertile Females: 	6.2 Quadrillion
----
Year: 520
Total Population:	9.0 Quintillion
Fertile Females: 	9.5 Quadrillion
----
Year: 530
Total Population:	14.3 Quintillion
Fertile Females: 	17.5 Quadrillion
----
Year: 540
Total Population:	25.3 Quintillion
Fertile Females: 	38.3 Quadrillion
----
Year: 550
Total Population:	49.9 Quintillion
Fertile Females: 	86.0 Quadrillion
----
Year: 560
Total Population:	103.5 Quintillion
Fertile Females: 	182.9 Quadrillion
----
Year: 570
Total Population:	212.6 Quintillion
Fertile Females: 	361.0 Quadrillion
----
Year: 580
Total Population:	418.6 Quintillion
Fertile Females: 	663.1 Quadrillion
----
Year: 590
Total Population:	782.8 Quintillion
Fertile Females: 	1.1 Quintillion
----
Year: 600
Total Population:	1.3 Sextillion
Fertile Females: 	1.8 Quintillion
----
Year: 610
Total Population:	2.3 Sextillion
Fertile Females: 	2.9 Quintillion
----
Year: 620
Total Population:	3.8 Sextillion
Fertile Females: 	4.5 Quintillion
----
Year: 630
Total Population:	6.1 Sextillion
Fertile Females: 	7.1 Quintillion
----
Year: 640
Total Population:	10.1 Sextillion
Fertile Females: 	12.6 Quintillion
----
Year: 650
Total Population:	17.5 Sextillion
Fertile Females: 	24.9 Quintillion
----
Year: 660
Total Population:	32.8 Sextillion
Fertile Females: 	51.7 Quintillion
----
Year: 670
Total Population:	64.3 Sextillion
Fertile Females: 	106.3 Quintillion
----
Year: 680
Total Population:	127.4 Sextillion
Fertile Females: 	209.3 Quintillion
----
Year: 690
Total Population:	248.0 Sextillion
Fertile Females: 	391.4 Quintillion
----
Year: 700
Total Population:	466.6 Sextillion
Fertile Females: 	695.8 Quintillion
----
Year: 710
Total Population:	844.6 Sextillion
Fertile Females: 	1.1 Sextillion
----
Year: 720
Total Population:	1.4 Septillion
Fertile Females: 	1.9 Sextillion
----
Year: 730
Total Population:	2.4 Septillion
Fertile Females: 	3.0 Sextillion
----
Year: 740
Total Population:	4.1 Septillion
Fertile Females: 	5.0 Sextillion
----
Year: 750
Total Population:	6.8 Septillion
Fertile Females: 	8.7 Sextillion
----
Year: 760
Total Population:	11.8 Septillion
Fertile Females: 	16.4 Sextillion
----
Year: 770
Total Population:	21.5 Septillion
Fertile Females: 	32.1 Sextillion
----
Year: 780
Total Population:	40.6 Septillion
Fertile Females: 	63.7 Sextillion
----
Year: 790
Total Population:	78.1 Septillion
Fertile Females: 	124.0 Sextillion
----
Year: 800
Total Population:	149.7 Septillion
Fertile Females: 	233.3 Sextillion
----
Year: 810
Total Population:	281.4 Septillion
Fertile Females: 	422.3 Sextillion
----
Year: 820
Total Population:	514.2 Septillion
Fertile Females: 	735.7 Sextillion
----
Year: 830
Total Population:	911.9 Septillion
Fertile Females: 	1.2 Septillion
----
Year: 840
Total Population:	1.5 Octillion
Fertile Females: 	2.0 Septillion
----
Year: 850
Total Population:	2.6 Octillion
Fertile Females: 	3.4 Septillion
----
Year: 860
Total Population:	4.5 Octillion
Fertile Females: 	5.9 Septillion
----
Year: 870
Total Population:	7.8 Octillion
Fertile Females: 	10.7 Septillion
----
Year: 880
Total Population:	14.0 Octillion
Fertile Females: 	20.3 Septillion
----
Year: 890
Total Population:	25.9 Octillion
Fertile Females: 	39.0 Septillion
----
Year: 900
Total Population:	48.7 Octillion
Fertile Females: 	74.8 Septillion
----
Year: 910
Total Population:	91.8 Octillion
Fertile Females: 	140.7 Septillion
----
Year: 920
Total Population:	171.6 Octillion
Fertile Females: 	257.1 Septillion
----
Year: 930
Total Population:	314.8 Octillion
Fertile Females: 	455.9 Septillion
----
Year: 940
Total Population:	564.6 Octillion
Fertile Females: 	787.4 Septillion
----
Year: 950
Total Population:	991.5 Octillion
Fertile Females: 	1.3 Octillion
----
Year: 960
Total Population:	1.7 Nonillion
Fertile Females: 	2.2 Octillion
----
Year: 970
Total Population:	2.9 Nonillion
Fertile Females: 	3.9 Octillion
----
Year: 980
Total Population:	5.1 Nonillion
Fertile Females: 	7.0 Octillion
----
Year: 990
Total Population:	9.1 Nonillion
Fertile Females: 	12.9 Octillion
----
Year: 1000
Total Population:	16.5 Nonillion
Fertile Females: 	24.3 Octillion
----