whileループを使えという段階であれば、
累乗を使ってさぼってはいけないのだろうな。

int population = 127700000; // 1億ならintでいいか。
double ratio = -0.5; // 百分率で
double factor = (100 + ratio) * 0.01; // 1年分の増加係数
int years = 2010 - 2007; // 年数

while (years-- > 0) {
 population *= factor;
}