2010-09-06 51 views
1

所以,我試圖從£5以1.01%的日利率的投資弄清楚回報的總量。顯然,我想複利率,所以我有這個到目前爲止:計算複利總回報

int main() { 

    double i = 500; 
    int loop; 
    int loopa; 
    double lowInterest; 
    double highInterest; 

    lowInterest = 1.01; 
    highInterest = 1.75; 

    cout.precision(2); 

     for(loop = 1;loop < 1826;loop++) { 
      if(i<1001) { 
       i = i + ((i/100) * lowInterest); 
      } 
      else { 
       i = i + ((i/100) * highInterest); 
      } 
     } 

    cout << fixed << i << endl; 

    return 0; 

} 

我用500代表$ 5只是爲個人喜好。我是否正確地做這件事?我得到了非常奇怪的結果 - 例如46592024576.00 - 這讓我覺得我犯了一個錯誤?

有什麼建議嗎?

+0

你可能想顯示你正在努力實現以下等式,我期待你的方程式可能不正確。 – 2010-09-06 01:58:33

+0

基本上,我在五年(1826年,包括閏年)每天都在做:'i = i + 1.01%'。也許這是來自Pascal的一個壞習慣(這是我所做的幾乎所有的編程),它不接受%作爲「百分比」。 – 2010-09-06 02:03:36

回答

5

的數字是正確的 - 如果你真的有幸在1.01%一每天利率投資$ 5,你會最終接近一半十億美元5年後(每天利率爲1.01%,年利率約爲3800%)。

你確定你不是說的(1.01/365)%,每日利率是多少?

+0

謝謝caf。似乎是對的。當我看到它時我無法相信這個數字。現在看看它有多少騙局! :)計算爲一個朋友是全部。 – 2010-09-06 02:23:05

+1

也許這是一種以津巴布韋元計價的投資。 – caf 2010-09-06 03:06:24

+0

哈哈!不,維基百科說,津巴布韋美元在某個時候的通貨膨脹率在1000萬%左右(百萬分之一,甚至更多)。即使這樣的利率也不足夠...... – 2010-09-10 23:17:08

3

我認爲你是手工做的事情可以用一個簡單的公式來完成。

http://qrc.depaul.edu/StudyGuide2009/Notes/Savings%20Accounts/Compound%20Interest.htm

A = P(1 + r/n)^nt 

在這種情況下

p = 5 (amount you invested) 
r = 0.0101*365 (annual interest rate) 
n = 365 (times compounded/yr) 
t = 1 (number of years) 

所以,僅僅實現以下等式。

由於我從工程經濟學開始已經有多年了,我可能會忽略r的價值,所以我猜不出有多少年了。

+0

感謝forumla,James。我會保留以備將來使用。 – 2010-09-06 02:23:35

1

在切線筆記,你的櫃檯loop應該爲0而不是1開始,否則會循環1825次,而不是1826年