这太令人沮丧了。我无法在任何地方找到这个答案,我自己也无法弄明白。这是在大学课堂上的作业。我们应该得到以下结果:
10年内,每月存款100美元将增至17793.03美元
如何使用c ++计算?
答案 0 :(得分:1)
重复存款公式可以作为
应用M = R * ( (1+r/p)^n-1 )/( (1+r/p) -1) = R * p/r * ( (1+r/p)^n-1 )
M is Maturity value
R is deposit amount
r is rate of interest
p is the number of parts of the year that is used, i.e., p=4 for quarterly and p=12 for monthly,
n is the number of payments, i.e., the payment schedule lasts n/p years, and then r is the nominal annual interest rate, used in r/p to give the interest rate over each part of the year
工作代码如下:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double r = 7.5 / 100;
int n = 120;
int p = 12;
int R = 100;
#if 0
double result = 0;
for( int i = 0 ; i < n ; ++i )
{
result *= ( 1 + r/p ) ;
result += R;
}
#else
double result = R * (p/r )* ( pow( (1+r/p), n ) - 1 );
#endif
std::cout<<result;
return 0;
}
答案 1 :(得分:0)
A = P (1 + r/n) ^ nt
这是复合利息每年复合的公式。
A = the future value of the investment/loan, including interest
P --> Principal amount (The starting amount)
r --> rate (%)
n --> the number of times that interest is compounded per year
t --> t = the number of years the money is invested or borrowed for
使用上面的公式并替换值,让计算机完成剩下的工作。 我希望这可以帮助你 。我只是一个初学者。这是我认为我会这样做的方式。
<强> 修改 强>
很抱歉,我之前提到的公式对于这样的问题是不正确的。 这是正确的公式: -
PMT * (((1 + r/n)^nt - 1) / (r/n))
PMT--> Principal amount deposited monthy (100 $)
其余值保持不变。试试这个并将值存储为double。这应该工作。我在codeblocks中试过这个。小心值和括号。
希望这有帮助。
答案 2 :(得分:0)
#include <iomanip>
#include <iostream>
int main()
{
auto balance = 0.0;
for (auto i = 0; i < 120; ++i)
balance = balance * (1 + 0.075/12) + 100;
std::cout << std::setprecision(7) << balance << '\n';
}