对bash脚本的兴趣浓厚

时间:2017-04-24 13:37:08

标签: bash

我正在尝试编写一个脚本,该脚本需要一定的金额(a)并且每年使用10%的固定利率来确定累积1,000,000需要多长时间。问题在于,我能找到的所有示例仅显示了简单感兴趣的示例,如下所示。

echo " Enter the principle value: "
read p
echo " Enter the rate of interest:"
read r
echo " Enter the time period:"
read t
s=`expr $p \* $t \* $r / 100`
echo " The simple interest is "
echo $s

问题是我需要复合利益。我当时认为答案可能是在一个带有计数器的while循环中,该计数器将循环运行的人数与固定数量的金额和利息相加,直到达到百万,然后回显循环次数。我的问题(被数学挑战)是我不知道该公式会是什么样子,我无法在网上找到任何关于它的例子。

2 个答案:

答案 0 :(得分:1)

awk救援!

$ awk -v P=100000 -v i=10 'BEGIN{print log(1000000/P)/log(1+i/100)}'

24.1589

从10万本金开始,利率为10%,只需24年就可以达到1M。

答案 1 :(得分:-2)

您对脚本有正确的想法 - 一个循环,您可以将每次迭代相乘,直到达到目标。就数学而言,这取决于问题的细节。如果你在每年年底获得10%的利息(那么利息不会复利),每年的公式是:

interest = 10% * total;  
total = total + interest;

或更简洁地total = 100% * total + 10% * total,简化为110% * total。当然100%是1,110%是1.1,因此你得到:

total = 1.1 * total

如果您的兴趣每月复杂化,事情会变得更加复杂。在这种情况下,你每个月都会得到110% ^ (1/12)的兴趣...所以你的循环会每月迭代一次,你会得到:

 total = (1.1 ^ (1/12)) * total

迭代次数代表月数,而不是年数。