期初存款問題。
假如父親為兒子準備了四年大學的生活費,每個月可以提領1000元,請問期初,父親要準備多少錢存入銀行?
這是一個典型的遞推問題,主要在分析存錢與提錢的過程。
利用逆推的方式,4年共48個月,每個月娶1000,也就是最後一個月連本帶利應該剛好剩下1000。
第47期 就等同 1000 + 第48個月的錢 / ( 1 + 利率 / 12 個月)
第46期 就等同 1000 + 第47個月的錢 / ( 1 + 利率 / 12 個月)
遞推公式 : N-1期 = 1000 + N期 / ( 1 + 利率 / 12 )
class Program
{
static void Main(string[] args)
{
//存錢問題,固定領出金額,問期初要存入多少錢
double rate = 0.00;
int mon = 48;
Console.Write("請輸入利率:");
rate = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("輸入利率為:{0}", rate);
//定義一個長度48的陣列,用來裝每個月月初剩餘的金額
double[] money = new double[mon];
money[mon - 1] = 1000;
Console.WriteLine("48個月的期初剩餘款:{0}", Math.Round(money[47],2).ToString());
for (int i = mon - 1; i > 0; i--)
{
money[i - 1] = 1000 + money[i] / (1 + rate / 12);
Console.WriteLine("{0}個月的期初剩餘款:{1}", i, Math.Round(money[i - 1],2).ToString());
}
Console.WriteLine("\n最初要存入:{0} 元",Math.Round(money[0],2).ToString());
Console.ReadLine();
}
}
水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。