这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。
一次向银行借了a元钱,分b月还清。如果需要每月还c元,月利率是多少(按复利计算)? 例如借了2000元,分4个月每月还510元,则月利率为0.797%。答案应不超过100%。 大家可以试试,不要套公式用递归做。
我这里给大家一个代码:
#include
int main()
{
double a, c, x = 0, y = 100;
int i, b;
scanf("%lf%d%lf", &a;, &b;, &c;);
while(y-x > 1e-5)
{
double m = x + (y-x)/2;
double f = a;
for(i = 0; i < b; i++)
f = f*(1+m/100.0) - c;
if(f < 0)
x = m;
else
y = m;
}
printf("%.3lf%%\n", x);
return 0;
}
思想就是无限的二分。。。 呵呵,感觉比单纯的套公式要强大多了!