假设你月收入是3000,除开平时花销,每个月留下1000块钱进行投资。 然后你认真的钻研了 《股票和基金 21天从入门到精通》,达到了每年20%的投资回报率。 那么问题来了,以每个月投资1000块

假设你月收入是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);

    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值