传送门

题解:

  二分月利率,假设当前判断的月利率为x;

  那么如何判断x是大了还是小了呢?

  下面来分析一下Check()函数;

  1. bool Check(double x)
  2. {
  3. double tot=a;
  4. for(int i=;i <= c;++i)
  5. {
  6. tot += tot*x;
  7. tot -= b;
  8. }
  9. return tot <= ? true:false;
  10. }

  变量a,b,c分别表示题目输入的三个变量;

  首先看第4行的for(),由题意得他是分 c 个月还完的,所以当然要循环 c 次了;

  并且知道了月利率为 x ;

  那么对于第 1 个月,他欠银行 a+a*x ,但由题意得,他每个月向银行还 b 元钱,所以下个月前还欠银行 a+a*x-b;

  来到第 2 个月,欠银行 (a+a*x-b)+(a+a*x-b)*x ,还款 b 元,以此类推,直到第 c 个月后,求出他还欠银行的钱数;

  如果欠的钱数 ≤ 0 ,说明在月利率为 x 的情况下,每月还 b 元是可以还清的,返回 true,反之,返回 false;

AC代码:

  1. #include<iostream>
  2. #include<cstdio>
  3. using namespace std;
  4.  
  5. int a,b,c;
  6.  
  7. bool Check(double x)
  8. {
  9. double tot=a;
  10. for(int i=;i <= c;++i)
  11. {
  12. tot += tot*x;
  13. tot -= b;
  14. }
  15. return tot <= ? true:false;
  16. }
  17. int main()
  18. {
  19. while(~scanf("%d%d%d",&a,&b,&c))
  20. {
  21. double l=;
  22. double r=;
  23. for(int i=;i <= ;++i)
  24. {
  25. double mid=(l+r)/;
  26. if(Check(mid/))
  27. l=mid;
  28. else
  29. r=mid;
  30. }
  31. printf("%.1f\n",l);
  32. }
  33. return ;
  34. }

注意:二分枚举的范围尽可能大;

  按照正常情况,月利率是不会超过 100% 的,所以我以为在[0,100]内枚举就可以了,但是第四个样例wa了,改成[0,1000]枚举才过的;

洛谷 P1163"银行贷款"(二分)的更多相关文章

  1. 洛谷——P1163 银行贷款

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

  2. 洛谷 P1163 银行贷款

    题目描述 当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款.这个问题要求计算出贷款者向银行支付的利率.假设利率按月累计. 输入输出格式 输入格式: 输入文件仅一行包含三个用空格 ...

  3. 【洛谷】【二分答案+最短路】P1462 通往奥格瑞玛的道路

    在艾泽拉斯大陆上有一位名叫歪嘴哦的神奇术士,他是部落的中坚力量 有一天他醒来后发现自己居然到了联盟的主城暴风城 在被众多联盟的士兵攻击后,他决定逃回自己的家乡奥格瑞玛 题目背景 [题目描述:] 在艾泽 ...

  4. 【洛谷】【二分查找】P1102 A−B数对

    [题目描述:] 给出一串数以及一个数字 C ,要求计算出所有 A−B=C 的数对的个数.(不同位置的数字一样的数对算不同的数对) [输入格式:] 第一行包括 2 个非负整数 N 和 C ,中间用空格隔 ...

  5. 【洛谷】【二分答案+贪心】P1316 丢瓶盖

    [题目描述:] 陶陶是个贪玩的孩子,他在地上丢了A个瓶盖,为了简化问题,我们可以当作这A个瓶盖丢在一条直线上,现在他想从这些瓶盖里找出B个,使得距离最近的2个距离最大,他想知道,最大可以到多少呢? [ ...

  6. 洛谷 P3957 跳房子 —— 二分答案+单调队列优化DP

    题目:https://www.luogu.org/problemnew/show/P3957 先二分一个 g,然后判断: 由于转移的范围是一个区间,也就是滑动窗口,所以单调队列优化: 可以先令队尾为 ...

  7. 洛谷P2402 奶牛隐藏(网络流,二分答案,Floyd)

    洛谷题目传送门 了解网络流和dinic算法请点这里(感谢SYCstudio) 题目 题目背景 这本是一个非常简单的问题,然而奶牛们由于下雨已经非常混乱,无法完成这一计算,于是这个任务就交给了你.(奶牛 ...

  8. 洛谷CF1071E Rain Protection(计算几何,闵可夫斯基和,凸包,二分答案)

    洛谷题目传送门 CF题目传送门 对于这题,我无力吐槽. 虽然式子还是不难想,做法也随便口胡,但是一些鬼畜边界情况就是判不对. 首先显然二分答案. 对于每一个雨滴,它出现的时刻我们的绳子必须落在它上面. ...

  9. 分数规划模板(洛谷P4377 [USACO18OPEN]Talent Show)(分数规划,二分答案,背包)

    分数规划是这样一个东西: 给定若干元素,每个元素有两个属性值\(a_i,b_i\),在满足题目要求的某些限制下选择若干元素并求出\(\frac{\sum a}{\sum b}\)的最大值. 如果没有限 ...

随机推荐

  1. python数据结构与算法第三天【时间复杂度计算方法】

    最优时间复杂度(不可靠) 最坏时间复杂度(保证) 平均时间复杂度(平均状况) 不同语句的时间复杂度: (1)顺序语句:使用加法 (2)循环语句:使用乘法 (3)分支语句:使用坏时间复杂度 例如:如下代 ...

  2. java 中的打印流

    package cn.zhou; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.F ...

  3. draknet网络配置参数

    https://blog.csdn.net/hrsstudy/article/details/65447947?utm_source=itdadao&utm_medium=referral [ ...

  4. 51nod2383

    2383 高维部分和 1 秒 131,072 KB 80 分 5 级题   输入一个长度为n的数组a[i],下标从0开始(0到n-1)保证n是2的整数次幂,对于每个i (0 <= i < ...

  5. Mybatis常见问题总结

    1.大于号.小于号在sql语句中的转换 使用mybatis 时sql语句是写在xml文件中,如果sql中有一些特殊的字符的话,比如< ,<=,>,>=等符号,会引起xml格式的 ...

  6. 小程序 official-account

    只需要在页面中添加 <official-account></official-account> 需要注意的是: 1.当小程序从扫二维码场景(场景值1011)打开时 2.当小程序 ...

  7. ElasticSearch查询 第四篇:匹配查询(Match)

    <ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...

  8. ubuntu18.04系统下用devstack安装openstack(最新版)

    ubuntu18.04系统下用devstack安装openstack(最新版) 2018年12月14日 16:34:14 Cherls 阅读数:427   前期准备: 安装git,升级pip,其他 s ...

  9. 在一般类中通过XmlWebApplicationContext对象获取应用部署上下文Context

    XmlWebApplicationContext xwac = (XmlWebApplicationContext) ContextLoader.getCurrentWebApplicationCon ...

  10. python之旅七【第七篇】面向对象之类成员

    面向对象的类成员 相关知识点 一  字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 class Provinc ...