1 条题解
-
0
自动搬运
来自洛谷,原作者为

笃行
SDU搬运于
2025-08-24 21:21:58,当前版本为作者最后更新于2016-08-28 14:56:35,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
核心算法是秦九韶算法和二分法,另外需要一定的财经知识,否则就呵呵了。在数据里有一个坑爹的月利率214.7%的数据,这不是贷款,这是抢钱- -
所以在二分中,需要从0-5之间进行二分查找。根据题目可以得出公式a=(...(m*(1+x)-y)(1+x)-y)...)(共t次乘法)(秦九韶算法)(m表示贷款的原值、y表示每月支付的分期付款金额、t表示分期付款还清贷款所需的总月数,a表示在t个月后按二分得到的利率还剩下多少钱没有还)。如果a是正数说明利率过大,则从左侧继续二分查找;如果a是负数说明利率过大,则从右侧继续二分查找;如果a等于零则输出结束程序。二分查找结束的另一个条件是精度小于0.0001。
#include<iostream> #include<cstdio> #include<cstdlib> using namespace std; double m,y,s; int t; int out(double k) { printf("%.1f",k*100); exit(0); } void solve(double l,double r) { double k=(l+r)/2,u=r-l; double a=m; if(u<0.0001) out(k); for(int i=1;i<=t;i++) a=a*(1+k)-y; if(a>0) solve(l,k); if(a<0) solve(k,r); if(a==0) out(k); } int main() { cin>>m>>y>>t; solve(0,5); }
- 1
信息
- ID
- 165
- 时间
- 1000ms
- 内存
- 125MiB
- 难度
- 2
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者