假设你月收入是3000,除开平时花销,每个月留下1000块钱进行投资。
然后你认真的钻研了 《股票和基金 21天从入门到精通》,达到了每年20%的投资回报率。
那么问题来了,以每个月投资1000块钱的节奏,持续投资多少年,总收入达到100万
(复利计算按照每年12000投入计算,不按照每月计息)
复利公式:
F = p* ( (1+r)^n );
F 最终收入
p 本金
r 年利率
n 存了多少年
假设情景一:
p = 10000
r = 0.05
n = 1
解读:
本金是10000
年利率是5%
存了一年 1次
复利收入 10000*( (1+0.05)^1 ) = 10500
假设情景二:
p = 10000
r = 0.05
n = 2
解读:
本金是10000
年利率是5%
存了两年
复利收入 10000*( (1+0.05)^2 ) = 11025
package com.company;
public class Main {
public static void main(String[] args) {
// write your code here
float fundPerMonth = 1000;//每月投资额
float fundPerYear = fundPerMonth*12;//每年投资额,即本金P
float goal = 1000*1000;//目标100万
float rate = 0.2f;//年利率r
float sum = 0;//总收益
int requiredYear = 0;
for (int year = 1;year<100;year++){
float compoundInterest = 0;//总收益
float compoundInterestRate = 1+rate;//即(1+r)
for (int i = 1; i < year; i++){//即(1+r)^n
compoundInterestRate*=1+rate;
}
compoundInterest = fundPerYear*compoundInterestRate;//即P*(1+r)^n
sum+=compoundInterest;//即每年的复利收入之和
System.out.println("第"+year+"年,总收益是"+(int)sum);
if (sum>=goal){
requiredYear = year;
break;
}
}
System.out.println("总共需要:"+requiredYear);
}
}