湖南省第六集程式設計競賽 E 內部收益率(二分法)

2021-07-11 11:48:18 字數 833 閱讀 6080

description

在金融中,我們有時會用內部收益率irr來評價專案的投資財務效益,它等於使得投資淨現值npv等於0的貼現率。換句話說,給定專案的期數t、初始現金流cf

0和專案各期的現金流cf

1, cf

2, ...,cft

,irr是下面方程的解:

為了簡單起見,本題假定:除了專案啟動時有一筆投入(即初始現金流cf

0< 0)之外,其餘各期均能賺錢(即對於所有i=1,2,...,t,cf

i>0)。根據定義,irr可以是負數,但不能大於-1。

input

輸入檔案最多包含25組測試資料,每個資料佔兩行,第一行包含乙個正整數t(1<=t<=10),表示專案的期數。第二行包含t+1個整數:cf0, cf1, cf2, ..., cft,其中cf0 < 0, 0 < cfi < 10000 (i=1,2,...,t)。t=0表示輸入結束,你的程式不應當處理這一行。

output

對於每組資料,輸出僅一行,即專案的irr,四捨五入保留小數點後兩位。如果irr不存在,輸出"no",如果有多個不同irr滿足條件,輸出"too many"(均不含引號)

sample input

1-1 22-8 6 90
sample output

1.000.50
分析:

好費勁,乙個普通的二分法,讓我做到了現在,還是多練練吧,注意二分法的邊界值的轉換,判定的條件!

#includeint main()

printf("%.2lf\n",mid);

}return 0;

}

湖南省第六屆省賽 E 內部收益率

內部收益率 time limit 1000ms memory limit 65535kb 64bit io format submit status description 在金融中,我們有時會用內部收益率irr來評價專案的投資財務效益,它等於使得投資淨現值npv等於0的貼現率。換句話說,給定專案的...

2023年湖南省程式設計競賽E題 最短的名字

解題報告 輸入n個字串,讓你求出可以用來區別這些字串的最少的字首總共有多少個字母。可以區別是指每個字串都取乙個自己的字首,同時保證所有取的這些字首沒有完全相同。這題用字典樹可以做,就是輸入的時候把所有的字串都插入到字典樹中,最後把所有被走過不止一次的節點的值都加起來,每個節點的值表示這個節點被走過多...

2018湖南省程式設計競賽E題 動態開點線段樹

e.grid 省賽時沒寫出這個題,確實是線段樹水平太菜了,現在又想到了這個題,我靠水題。思路 這個題說白了就是求最大1 到1e9這個區間有多少個點被覆蓋,普通線段樹空間肯定不行,不過可以用動態開點解決,每次更新最多新花幾十個節點的空間,1e5次更新,最多隻需幾百萬的空間足夠,解決了這個問題就是水題了...