题目E

内部收益率

在金融中,我们有时会用内部收益率IRR来评价项目的投资财务效益,它等于使得投资净现值NPV等于0的贴现率。换句话说,给定项目的期数T、初始现金流CF0和项目各期的现金流CF1, CF2, ...,CFTIRR是下面方程的解:

为了简单起见,本题假定:除了项目启动时有一笔投入(即初始现金流CF0 < 0)之外,其余各期均能赚钱(即对于所有i=1,2,...,TCFi> 0)。根据定义,IRR可以是负数,但不能大于-1。

输入

输入文件最多包含25组测试数据,每个数据占两行,第一行包含一个正整数T(1<=T<=10),表示项目的期数。第二行包含T+1个整数:CF0, CF1, CF2, ..., CFT,其中CF0< 0, 0 < CFi< 10000 (i=1,2,...,T)。T=0表示输入结束,你的程序不应当处理这一行。

输出

对于每组数据,输出仅一行,即项目的IRR,四舍五入保留小数点后两位。如果IRR不存在,输出"No",如果有多个不同IRR满足条件,输出"Too many"(均不含引号)

样例输入

样例输出

1

-1 2

2

-8 6 9

0

1.00

0.50

第一次看到这个题目的时候被最后一句话吓到了,我不知道怎么判断是否有多个不同的IRR可以满足条件。但是当我仔细去看那一个公式,发现那是一个单调的公式,根本就不可能会存在多个不同的IRR满足条件。题目要求保留2位小数,根据题意可以知道IRR在-1到1e6之间。从头到尾的去求时间肯定不够,但是这公式是单调的,这时候我们应该想到的是2分查找。这样的话我们的时间就成了log21e6

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include<string.h>
 4 #include<math.h>
 5 using namespace std;
 6 int main()
 7 {
 8     int n,cf[20];
 9     while(~scanf("%d", &n),n)
10     {
11         for(int i = 0; i <= n; i++) scanf("%d", &cf[i]);
12         double l = -1.0, r = 1e6, m;
13         for(int i = 0; i < 100; i++)//这里可以使用eps精确度代替
14         {
15             m = l + (r-l)/2;
16             double f = 1.0, s = 0;
17             for(int j = 1; j <= n; j++)
18             {
19                 f /= (1+m);
20                 s += cf[j]*f;
21             }
22             if(s < -cf[0]) r = m;
23             else l = m;
24         }
25         printf("%.2lf\n", m);
26     }
27     return 0;
28 }

转载于:https://www.cnblogs.com/52why/p/5840787.html

湖南省第6届程序大赛第5题 内部收益率相关推荐

  1. 湖南省第6届程序大赛第3题 数字整除

    题目C 数字整除 定理:把一个至少两位的正整数的个位数字去掉,再从余下的数中减去个位数的5倍.当且仅当差是17的倍数时,原数也是17的倍数 . 例如,34是17的倍数,因为3-20=-17是17的倍数 ...

  2. 弟弟的作业(湖南省第六届程序设计大赛)

    题目描述 你的弟弟刚做完了"100以内数的加减法"这部分的作业,请你帮他检查一下.每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均为不超过1 ...

  3. c++歌手大赛系统_计人即讯|第十届程序设计大赛

    "第十届程序设计大赛" 为激发学生学习计算机语言和科学使用计算机的热情,培养独立思考.勇于创新的探索精神和敢闯会创的意志品格,我院于12月5日13时30分在中主阶教201室成功举办 ...

  4. 2016 Bird Cup ICPC7th@ahstu--“波导杯”安徽科技学院第七届程序设计大赛

    "波导杯"安徽科技学院第七届程序设计大赛 原文章网页 Contest - 2016 "Bird Cup" ICPC7th@ahstu Start time:   ...

  5. 湖南省第十届蓝狐网络杯大学生计算机程序设计竞赛,2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解...

    2019年湖南省大学生计算机程序设计竞赛 (HNCPC2019) 简要题解 update10.01 突然发现叉姐把这场的题传到牛客上了,现在大家可以有地方提交了呢. 不知道该干什么所以就来水一篇题解 ...

  6. “青软杯”安徽科技学院第六届程序设计大赛_专业组

    Contest - "青软杯"安徽科技学院第六届程序设计大赛_专业组 Start time:  2015-04-18 08:00:00.0  End time:  2015-04- ...

  7. 2022年湖北省第一届职业技能大赛世赛选拔赛网络安全竞赛规程

    2022年湖北省第一届职业技能大赛世赛选拔赛 网络安全赛项 一.赛项名称 赛项名称:网络安全 英文名称:Cyber Security 二.竞赛目的 为检验网络信息安全人才技术技能,促进网络信息安全人才 ...

  8. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题

    第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 I-填空题 链接:https://www.nowcoder.com/acm/contest/90/I 来源:牛客网 题目描述 牛客网是是一个专注于 ...

  9. 【无标题】第七届起重机大赛思路分享与回顾

    第七届起重机大赛思路分享与回顾 写在前面 一.任务说明 二.解决方案 1.整体机构设计 2.循迹与路径规划 3.起升模块 4.取物识别 三.反思与不足 1.结构 2.电池 3.思路 写在前面 从暑假初 ...

最新文章

  1. 详解Spring Boot配置文件之多环境配置
  2. Android 使用Jsoup解析Html
  3. 交互设计新人的核心竞争力
  4. 机器学习(一):BP神经网络(含代码及注释)
  5. MFC文档/视图结构体系及SDI回顾(2)
  6. OpenCASCADE:形状愈合之通用拆分工具
  7. 计算机体系结构数据库论文,信息管理中计算机数据库系统研究论文
  8. mysql 的日常管理软件_MySQL常用的日常管理工具
  9. osg+ActiveQT嵌入ie64位
  10. [vb] Set 语句
  11. Linux下定时切割nginx日志并删除指定天数前的日志记录
  12. java编译提示错误信息_java常见编译错误信息
  13. 程序员校招社招简历模板分享和硬技能
  14. springboot模板项目搭建:代码生成器AutoGenerator
  15. 网站设计| 网站设计模板素材
  16. 嗅探技术---网络安全入门笔记DAY5
  17. Ubuntu 18.04 安装 deepin 微信
  18. 2022年西藏最新建筑八大员(市政)模拟考试题库及答案
  19. guava异步线程使用
  20. WebSocket 从入门到精通 -- Spring boot服务端客户端 -- HTML客户端

热门文章

  1. Map训练(三国武力值)
  2. HDG西安站|分享技术干货,打造开发者交流平台!
  3. 高项和PMP有什么区别?
  4. INSERT/UPDATE IGNORE
  5. Hexo搭建个人博客模板(附源码)
  6. 楼宇计算机系统设计,楼宇智能管理系统IBMS设计方案.doc
  7. Docker原理之架构篇 --- 总体架构
  8. 关于KeilC51如何安装芯片包的问题
  9. Unix 之父的密码终于被破解咧
  10. NOR Flash擦写和原理分析