问题 1076: 内部收益率

Posted roronoa_zoro

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题 1076: 内部收益率相关的知识,希望对你有一定的参考价值。

/********************************************************************
@file     Main.cpp
@date     2017-7-3 10:24:28
@author   Zoro_Tiger
@brief    问题 1076: 内部收益率
          http://www.dotcpp.com/oj/problem1076.html
********************************************************************/
//!头文件
#include <cstdio>
#include <cmath>

//!宏定义
#define ARRAY_SIZE 15

//!程序入口
int main(int argc, const char* argv[])
{
    //!变量声明
    int number_t = 0; double param[ARRAY_SIZE] = { 0.0 };

    //!读取输入并计算
    while (scanf("%d", &number_t) != EOF && number_t != 0)
    {
        //!读取系数
        for (int i = 0; i <= number_t; ++i)
        {
            scanf("%lf", param + i);
        }

        //!二分法查找解
        double left = -1.0, middle = 0.0, right = 1E6, sum = 0, temp = 1;
        while (fabs(param[0] + sum) > 1E-7)
        {
            sum = 0; middle = (left + right) / 2.0; temp = 1;
            for (int i = 1; i <= number_t; ++i)
            {
                temp = temp / (1 + middle);
                sum += param[i] * temp;
            }

            if (param[0] + sum > 1E-7) left = middle;
            else right = middle;
        }

        //!显示结果
        printf("%.2lf\n", middle);
    }

    //!返回系统
    return 0;
}

 

以上是关于问题 1076: 内部收益率的主要内容,如果未能解决你的问题,请参考以下文章

Matlab 2019 中的 3 维内部收益率

bzoj1076 奖励关 状压dp 概率dp

[bzoj1076]奖励关

收益回报与回报选择

片段内部静态类和gradle问题

NC41 最长无重复子数组/NC133链表的奇偶重排/NC116把数字翻译成字符串/NC135 股票交易的最大收益/NC126换钱的最少货币数/NC45实现二叉树先序,中序和后序遍历(递归)(代码片段