高分悬赏C++高手帮忙解决一个算法题
银行贷款的还款方式中最常用的是一种叫“等额本息”还款法,即借款人在约定还款期限内的每一期(月)归还的金额(产生的利息+部分本金)都是相等的。
现有一笔总额为T元的N年期住房贷款,年利率为R,要求算出每一期的还款的本金和利息金额。请写出解决思路(推导过程)
[解决办法]
double Bill(double T,float R,int N)//本金,利率,年限
{
double Money=T;
float InterestRate=R;
for(int year=0;yeah<N;yeah++)
{
Money*=1+R;
}
return Money/(double)N;
}
[解决办法]
double Bill(double Money,float InterestRate,int year)//本金,利率,年限
{
for(int n=0;n<year;n++)
{
Money*=1+InterestRate;
}
return Money/(double)year;
}
[解决办法]
这跟高不高手有虾米关系,自己查公式去。。。
T * ((R/=100.)/12.)/(1.-1./pow( 1+R/12. , N*12. ));
[解决办法]
T * (R/12.)/(1.-1./pow( 1+R/12. , N*12. ))
[解决办法]
- C/C++ code
#include <stdio.h>#include <math.h>double slove( double T , double R , int N ){ R/=100.; return T * (R/12.)/(1.-1./pow( 1+R/12. , N*12. ));}int main(){ printf( "---- %.2f\n" , slove(1000000, 5.94, 20 ) ); printf( "---- %.2f\n" , slove(1000000, 5.94*.85, 20 ) ); printf( "---- %.2f\n" , slove(1000000, 5.94*.7, 20 ) ); return 0;}