博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gym - 101252H
阅读量:4983 次
发布时间:2019-06-12

本文共 882 字,大约阅读时间需要 2 分钟。

题意略。

思路:二分。注意当利率高且m比较小的时候,每个月的偿还可能会大于本金,所以我们二分的右边界应该要设为2 * 本金。

详见代码:

#include
#define eps 1e-7using namespace std;double s,p;int m;int sgn(double x){ if(fabs(x) < 0) return 0; if(x > 0) return 1; else if(x < 0) return -1;}bool jud(double x){ double fir = x * m; double ai = s * p,bi = x - ai; double sum1 = ai,sum2 = bi; for(int i = 2;i <= m;++i){ ai = (s - sum2) * p; bi = (x - ai); sum1 += ai; sum2 += bi; } return sgn(s - sum2) <= 0;}int main(){// freopen("input.txt","r",stdin);// freopen("output.txt","w",stdout); scanf("%lf%d%lf",&s,&m,&p); double l = 0,r = 2 * s,mid; p /= 100.0; while(fabs(r - l) > eps){ mid = (r + l) / 2; if(jud(mid)) r = mid; else l = mid; } printf("%lf\n",l); return 0;}/*100 1 50*/

 

转载于:https://www.cnblogs.com/tiberius/p/9316334.html

你可能感兴趣的文章
Lua学习笔记-C API
查看>>
浅析:Android 嵌套滑动机制(NestedScrolling)
查看>>
Python+Selenium练习篇之18-获取元素上面的文字
查看>>
php状态模式
查看>>
Asp.net C# 图像处理
查看>>
知识签名(signature of knowledge)
查看>>
Gedit 解决中文显示乱码问题
查看>>
reset 单个文件 回退
查看>>
数据库系统
查看>>
ASP.NET Core 基础知识(九)Configuration
查看>>
pickle使用
查看>>
将多个网页制作成一个CHM文件
查看>>
txt 文件改名为fasta,并编辑规格格式
查看>>
闭包 装饰器 - 总结
查看>>
中间件
查看>>
jQuery初识之选择器、样式操作和筛选器(模态框和菜单示例)
查看>>
::作用域运算符
查看>>
memcpy memmove区别和实现
查看>>
linux 下创建并动态加载.so 文件
查看>>
python--redis
查看>>