Tanky WooRSS

一个有趣的数学题目

01 Jul 2010
这篇博客是从旧博客 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;
} 

思想就是无限的二分。。。 呵呵,感觉比单纯的套公式要强大多了!