Во-первых, вам нужно очистить имена переменных на мой взгляд. Конечно, не стоит слишком сильно увлекаться go, но IMO population
будет лучше, чем просто pop
.
Furhter, вы можете использовать Dictionary
, чтобы хранить годы вместе с предопределенным населением.
Кроме того, пишите комментарии, чтобы лучше видеть, что происходит:)
С этими предложениями я бы кодировал это следующим образом:
double population = 4.8;
int currentYear = 2020;
Dictionary<int, double> predictions = new Dictionary<int, double>();
// Adding current state
predictions.Add(currentYear, population);
// I changed bounds of a loop to handle years in more comfortable way :)
for (int i = 1; i <= 10; i++)
{
population *= 1.07;
predictions.Add(currentYear + i, population);
}
Теперь у вас есть данные в Dictionary
, который выглядит следующим образом:
2020 4.8
2021 ...
2022 ...
... ...
Теперь вы можете получить все годы, когда население легко превысило 5 миллионов с predictions.Where(kvp => kvp.Value > 5)
.