zoukankan      html  css  js  c++  java
  • [洛谷1163]银行贷款

     

    当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。

    输入

    输入文件仅一行包含三个用空格隔开的正整数。

    第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。

    输出

    输出文件应该是一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到0.1%。

    样例

    LOAN.IN

    1000 100 12

    LOAN.OUT

    2.9

    思路

      二分答案。因为是利滚利的缘故,不能直接套用公式,可解。

    var m,y,mouth,jg,i,minn:longint;
        s:string;
        min,ans:real;
    
    function js(mid:longint):real;  
    var mid1,n:real;  
        i:longint;  
    begin  
        n:=m;  
        mid1:=mid/10000;  
        for i:=1 to mouth do
        n:=n*(1+mid1)-y;  
        exit(n);  
    end;  
      
    function ef(l,r:longint):longint;  
    var mid:longint;
        zhi:real;  
    begin  
        while l<r do  
        begin  
            mid:=(l+r) div 2;  
            zhi:=js(mid);  
            if (abs(zhi)<min) or (minn=-1) then
            begin  
                min:=abs(zhi);  
                minn:=mid;  
            end;  
            if zhi>0 then r:=mid;  
            if zhi<0 then l:=mid+1;
            if zhi=0 then exit(mid);
        end;
        exit(l);
    end;
    
    begin
        minn:=-1;
        read(m,y,mouth);  
        jg:=ef(0,trunc((y/m)*10000));
        ans:=jg/100;  
        writeln(ans:0:1);
    end.
    View Code
  • 相关阅读:
    poj 1456 贪心+STL
    hdu 4283 区间dp
    hdu 4745 区间dp
    hdu 3652 数位dp
    poj 2955 区间dp
    ubuntu apache2配置详解(含虚拟主机配置方法)
    从 mysql 客户端导出数据库 mysqldump
    Git 版本回退问题详解
    SEO 外链 内链 的定义
    为项目编写Readme.MD文件
  • 原文地址:https://www.cnblogs.com/yangqingli/p/4909594.html
Copyright © 2011-2022 走看看