[洛谷1163]银行贷款
2015-10-25 21:07
232 查看
当一个人从银行贷款后,在一段时间内他(她)将不得不每月偿还固定的分期付款。这个问题要求计算出贷款者向银行支付的利率。假设利率按月累计。
第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。
1000 100 12
LOAN.OUT
2.9
View Code
输入
输入文件仅一行包含三个用空格隔开的正整数。第一个整数表示贷款的原值,第二个整数表示每月支付的分期付款金额,第三个整数表示分期付款还清贷款所需的总月数。
输出
输出文件应该是一个实数,表示该贷款的月利率(用百分数表示),四舍五入精确到0.1%。样例
LOAN.IN1000 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
相关文章推荐
- Executor 和Executors
- Android 使用OkHttp扩展Volley
- 前端面试问题集
- 打造你的专属黑客U盘
- c++ primer第五版(中文)习题答案 第二章第一节-基本内置类型
- 老鸟谈谈JAVA EE的学习
- loadrunner性能测试步骤
- Dozer 自定义Converter -- LocalDateTime to Date
- J2EE通过tomcat部署的两种方式
- Android进阶之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- 机器学习:决策树ID3\C4.5\CART\随机森林总结及python上的实现 (2)
- Linux-Android开发常用命令
- J2EE通过tomcat部署的两种方式
- 浅谈你感兴趣的 C# GC 机制底层
- 用西部数码网站管理助手配置codeigniter框架环境
- 学习日志---linuxの yum的解析与使用
- sql连表查询
- 通过分析如何一个人的性格笔迹?
- MvvmLight框架使用入门(二)
- 欧几里得算法--二进制欧几里得算法--拓展欧几里得算法