利润统计函数c语言,C语言计算内部回报率(或名内部收益率)(IRR)

本文介绍了一道来自ECNU OJ的题目,该题目要求使用C语言编写程序来计算投资项目内部回报率(IRR)。IRR是考虑投资成本和未来收益的贴现率,确保总现金流为零。文章提供了具体的算法实现,通过二分查找方法在给定的范围内找到满足条件的IRR值。程序读取项目年数和每年利润,输出IRR结果并保留四位小数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是ECNU OJ 上的一个题目,是某次的课后作业,我把它搬运上来与大家分享一下。

在 Excel 中有一个函数 IRR 用于计算一个投资项目的内部回报率(Internal return rate)。

在项目产生利润之前需要先投入建设资金(假设称为 c0),建成后每年产生的利润(假设称为 c1,c2…)。内部回报率(记为 r,范围为 −100%∽+100%)是到项目末期的现金流为 0 的贴现率。

例如:某项目建设资金为 10000,项目生产持续期为 3 年,每年利润为 3000,4000,5000,那么 r 满足:

−10000(1+r)^3+3000(1+r)^2+4000(1+r)+5000=0

Excel 计算结果 r 大约为 8.8963%。

本题的测试数据保证 r 只有唯一解。

Input

第 1 行:整数 T (1≤T≤10) 为问题数。

第 2∽3 行:第一个问题的数据。一行整数 n (1≤n≤100) 表示项目生产年数。后面 1 行包含 n+1 个由一个空格分隔的整数,表示投入的建设资金 c0 和 n 年中每年的利润 ci。c0>0,0≤ci≤1000000000。

第 4∽2T+1 行:后面问题的数据,格式与第一个问题相同。

Output

对于每个问题,输出一行问题的编号(0 开始编号,格式:case #0: 等),然后在每一行中输出计算出的 r(保留小数后 4 位)。

#include

#include

int main()

{

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值