计算收益 - 揭秘坑爹的养老金 保守算法,减少一年收益

20 篇文章 0 订阅
12 篇文章 0 订阅

/**
 * 计算收益 - 揭秘养老金骗局 保守算法,减少一年收益
 * @param int    $money 每次投钱金额
 * @param float  $rate 利率
 * @param int    $age 开始投钱年龄
 * @param int    $until 结束投钱年龄
 * @param int    $limit 领钱结束年龄
 * @param string $model 模式 y-年 m-月 w-周
 * @return array
 */
function get_income(int $money, float $rate, int $age, int $until, int $limit, string $model = 'm'): array
{
    $data = [];
    $principal = 0; // 本金
    $start_income = 0; // 中途收益 利滚利
    $times = 0; // 每年交钱次数

    switch ($model) {
        case 'y':
            $times += 1;
            break;

        case 'm':
            $times += 12;
            break;

        case 'w':
            $times += floor(365 / 7); // 舍去不足一周
            break;

        default:
            die('参数错误');
    }

    for ($i = $until - $age; $i > 0; --$i) {

        $tmp = pow($rate, $i - 1); // 保守算法,减少一年收益

        for ($j = 0; $j < $times; ++$j) {
            $principal += $money;
            $start_income += $money * $tmp;
        }

    }

    $end_income = $start_income * pow($rate, $limit - $until); // 最终收益 利滚利

    $data['principal'] = $principal;
    $data['start_income'] = $start_income;
    $data['end_income'] = $end_income;

    return $data;
}

$money = 100; // 每次投钱金额
$rate = 1.036; // 利率
$age = 28; // 开始投钱年龄
$until = 60; // 结束投钱年龄
$limit = 85; // 领钱结束年龄

$data = get_income($money, $rate, $age, $until, $limit);
vd($data);

运行结果 :

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值