C語言計算內部回報率(或名內部收益率)(IRR)

2021-08-13 01:06:19 字數 1129 閱讀 3946

這是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()

while((b-a)*huge>1.0)

x1=b+1;

y=-1

*a[1];

for(j2=2;j2<=m;j2++)

x1=r+1;

c=-1

*a[1];

for(j2=2;j2<=m;j2++)

if(x*c>0) a=r;

else b=r;

}if((r-0)*huge

<1&&(r-0)*huge>-1)

printf("0.0000%%\n");

else

printf("%.4lf%%\n",r*100);

}return

0;}

C C 內部收益率

在金融中,我們有時會用內部收益率irr來評價專案的投資財務效益,它等於使得投資淨現值npv等於0的貼現率。換句話說,給定專案的期數t 初始現金流cf0和專案各期的現金流cf1,cf2,cft,irr是下面方程的解 為了簡單起見,本題假定 除了專案啟動時有一筆投入 即初始現金流cf0 0 之外,其餘各...

淨現值 折現率 內部收益率 投資利潤

npv 淨現值 net present value 投資專案投入使用後的淨現金流量,按資本成本或企業要求達到的報酬率折算為現值,減去初始投資以後的餘額,叫淨現值 net present value,npv 淨現值 未來報酬的總現值 初始投資 未來報酬的總現值 計算方法 1 計算每年的營業淨現金流量。...

問題 1076 內部收益率 Right 借鑑

時間限制 1sec 記憶體限制 128mb 在金融中,我們有時會用內部收益率irr來評價專案的投資財務效益,它等於使得投資淨現值npv等於0的貼現率。換句話說,給定專案的期數t 初始現金流cf0和專案各期的現金流cf1,cf2,cft,irr是下面方程的解 為了簡單起見,本題假定 除了專案啟動時有一...