【发布时间】:2019-03-14 00:19:36
【问题描述】:
我正在尝试编写一个年利率代码,让您可以输入任何金额,它会显示大约需要多少年才能使您的资金至少翻倍。给定的利率是每年 5%。问题是,它工作不正常,而且显示的数字高得离谱,比如 200 年左右。
#include <iostream>
using namespace std;
int main() {
int deposit;
int counter;
cout << "Deposit an amount NO LESS than 1000." << endl;
cin >> deposit;
for (deposit ;; deposit = 1.05 * deposit) {
counter = counter+1;
if (deposit >= 2 * deposit) {
cout << endl;
cout << "Your money will double in "<< counter <<" years." << endl;
break;
}
}
}
【问题讨论】:
-
要押金是没有意义的。结果不会改变。
-
@schorsch312 几乎是真的,如果你有 0 钱,那么取决于你的看法有多积极,它需要 0 或无限的时间才能翻倍;)
-
如果银行同意您的意见,我会与银行商谈。
-
既然这看起来像是一个练习,你知道你是否可以使用对数吗?这是最好的解决方案,但如果你只是要练习循环,那就不太合适了。
-
@Useless nope,我自己做这个,虽然我们目前的课程是关于循环的,所以这就是我的知识范围
标签: c++ numerical-methods