国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

二分搜索求利率近似解

2019-11-08 02:27:34
字體:
來源:轉載
供稿:網(wǎng)友

問題背景:零存整取的保險利率求解

問題假設:因為不清楚真實的保險金額計算過程,所以假定為每年存入一定金額everyyear,在連續(xù)購買nbought年之后,再保障nwork-nbought年。在nwork年之內(nèi)對被保險人有保障,(nbought<=nwork)。nwork年之后返還總金額totalmoney。

現(xiàn)在已知,nwork年后保險的返還總金額totalmoney和上述變量值,求解年化利率(當年的本金為上一年度本金與利息之和)。

問題求解:當然是二分查找了,在某一個給定的區(qū)間去搜索一個符合精度要求的利率,復雜度為O(log2(n))。

代碼中的數(shù)據(jù)都是真實值,起初看到總的回報率超過了200%,我以為這真的是搞金融的良心發(fā)現(xiàn)了。得到計算結果后,我的心涼了一半,因為模擬得到的年化利率只有20%多,并不是非常高。況且考慮到貨幣貶值的影響,這種投資連抵消通貨膨脹的作用都沒有達到。

心塞~想去做金融

public class Main{	public static void main(String args[]){		double everyyear=480;		double totalmoney=20000;		int nbought=16;		int nwork=20;		double lilv=computelilv(everyyear,totalmoney,nbought,nwork);		System.out.PRintln("年化:"+lilv);	}	static double computelilv(double everyyear,double totalmoney,int nbought,int nwork)	{		Double lixi=0.0;	//初始的利息與本金和為零		Double lilv=0.5;	//初始年化利率為0.5		double lowlimit=0,highlimit=1;	//利率上下界		do{			lixi=0.0;			for(int i=0;i<nbought;i++){				lixi+=(lixi+everyyear)*lilv;			}//在購買年限內(nèi),每年都投入本金,以復利方式計算利息			for(int i=0;i<(nwork-nbought);i++){				lixi+=lixi*lilv;			}//在保障年限內(nèi),不追加本金,復利計算利息			System.out.printf("%f %.8f/n", lixi,lilv);						if(lixi>totalmoney){				//根據(jù)二分法調(diào)整利率				highlimit=lilv;				lilv=(highlimit+lowlimit)/2;			}else{				lowlimit=lilv;				lilv=(highlimit+lowlimit)/2;			}		}while(Math.abs(lixi-totalmoney)>0.01);		//當真實的總金額與以猜測的利率生成的總金額的絕對差小于閾值時,停止迭代		return lilv;	}}


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 大悟县| 茌平县| 金坛市| 镇原县| 博湖县| 永泰县| 二连浩特市| 平谷区| 玉龙| 海南省| 开封市| 镇雄县| 茌平县| 资中县| 西充县| 衡阳市| 沙坪坝区| 河北省| 沿河| 宝清县| 海原县| 鄯善县| 潼南县| 博客| 砚山县| 木兰县| 资兴市| 桃园县| 德庆县| 鄂伦春自治旗| 宁安市| 区。| 修文县| 乐业县| 澎湖县| 陇川县| 盐山县| 华安县| 南部县| 泸西县| 景泰县|