zoukankan      html  css  js  c++  java
  • 银行贷款

    银行贷款

    题目描述

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

    输入

    仅一行包含三个用空格隔开的正整数。
    第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。

    输出

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

    样例输入

    1000 100 12
    

    样例输出

    2.9
    分析:等额本息计算公式:〔贷款本金×月利率×(1+月利率)^还款月数〕÷〔(1+月利率)^还款月数-1〕
       知道公式后就可以二分了,至于为什么右边界开到1000,应该是高利贷的缘故吧。。。
    代码:
    include <bits/stdc++.h>
    const int maxn=1e5+10;
    using namespace std;
    int n,m,k,t;
    double ans;
    bool work(double p)
    {
        p=p/100;
        double q=1;
        for(int i=1;i<=t;i++)q=q*(1+p);
        return n*p*q/(q-1)<=1.0*m;
    }
    int main()
    {
        int i,j;
        scanf("%d%d%d",&n,&m,&t);
        double l=0,r=1000;
        while(r-l>1e-10)
        {
            double mid=(l+r)/2;
            if(work(mid))ans=mid,l=mid;
            else r=mid;
        }
        printf("%.1f
    ",ans);
        //system("pause");
        return 0;
    }
  • 相关阅读:
    Java的 Annotation 新特性
    Java 枚举
    Java 泛型
    Linux kali信息探测以及 Nmap 初体验
    静态导入 ()
    Java foreach循环
    Java 可变参数
    炫酷的CSS3响应式表单
    关于CSS选择器连续性的问题
    简述ECMAScript6新增特性
  • 原文地址:https://www.cnblogs.com/dyzll/p/5769182.html
Copyright © 2011-2022 走看看