遇到有趣的数学题,记录一下.
假设银行一年整存零取的月息为0.63%。现在某人手中有一笔钱,他打算在今后的5年中的每年年底取出1000.00元,到5年底时刚好取完。请算出他存钱时应存入多少?
def solution(n, k, interest_val):
if n:
print(f"年利率为{interest_val} 金额: 第{6 - k}年, 年初{n:.4f} 年末{(n * (1 + interest_val)):.4f}")
if k >= 5:
return n
else:
n = (n + 1000) / (1 + interest_val)
return solution(n, k + 1, interest_val)
if __name__ == '__main__':
interest_rate = 0.0063 * 12
save_money = solution(0, 0, interest_rate)
print(f"\n需存入金额:¥{save_money}")
年利率为0.0756 金额: 第5年, 年初929.7136 年末1000.0000
年利率为0.0756 金额: 第4年, 年初1794.0811 年末1929.7136
年利率为0.0756 金额: 第3年, 年初2597.6953 年末2794.0811
年利率为0.0756 金额: 第2年, 年初3344.8265 年末3597.6953
年利率为0.0756 金额: 第1年, 年初4039.4445 年末4344.8265需存入金额:¥4039.444465119001
这题的公式不算难. 先顺着逻辑整理出公式, 再逆向整理出公式.这个题目还隐藏了一个小坑,不能拿月利率当做年利率去使用.(主要还是因为1024程序员节,发一篇文章让大家看着娱乐一下)