以给定的年复利利率计算任何金额翻倍的时间

Calculating time for any sum to double, at a given rate of interest compounded annually

我试图编写一个程序来计算在给定的年复利利率下任何一笔钱翻倍所需的时间。

当我运行这个程序的时候,我发现

我做错了什么?

int main(){
    cout << "Please enter the interest rate in % per annum:";
    int counter = 0;
    int sum=100;
    int interest = 0;
    cin >> interest;
    while(sum<200){
        counter++;
        sum += sum*(interest / 100);
        }
    cout << "\n It would take about " << counter << " years to double";
  }

interest 是一个 int 所以这一行

interest / 100

正在做整数除法,永远是0。快速解决方法是更改​​文字,以便您进行浮点数学运算

sum += sum*(interest / 100.0);