Cプログラミング(ステップ4・反復処理・ローン計算)
ローンの計算についての補足
1.元金均等返済と元利均等返済
住宅購入などのために大きなお金を銀行などから借りるには、利息を支払わなければならない。 この利息も含めた借金の返済方法のうち、元金均等返済と元利均等返済について考えてみたい。
利率の解釈
まず、借金の利率は「1年あたり」で表示するのが基本である。 ここでは、年利を R とする(利率は百分率ではなく、1を基準にした比率で考えることにする)。 ところが、多くのローンは毎月の返済が求められているので、1年あたりの利率を12で割った値(R/12)を1月あたりの利率と考える。 (ただし、個人ローンなどの短期の場合は、日割りで利率を計算する場合あって、その場合は R/365 を1日あたりの利率とする。) 以下では、月ごとに返済するローンについて考え、各回の利子を r (r=R/12)で表すことにする。
元金均等返済
あなたが D(円)を nヶ月で返済するとしよう。 各月にこれを均等割した額(D/n)だけ元金を返済し、その時点での借り入れ額について利子を支払う方法を元金均等返済と呼ぶ。
最初の月(1回目)の返済額は、借金の総額が D であるから、返済額は、それに利息を加えて D×(1+r) となる。 2月目は、元金が減って D−Dn になっているので (D−Dn)×(1+r) k回目の返済額は (D−Dk−1n)×(1+r) となる。このように、返済額は 1回目が最も大きく、k と共に、単調に(線形に)減少する。
すると、支払う総額は n∑k=1(D−Dk−1n)×(1+r)=D×(1+r)×n+12 となり、当然ではあるが、支払い回数 n を増やせば、それだけ返済すべき総額も増えることになる。
借入額を回数で均等に割った分と、未返済分の元金に対する利息を毎回返済する。 たとえば、4回目の返済の際は、借入額のうち3回目までに返済を終えた分を除いた未返済分の利子を支払う。 そのため、毎回の支払額は一次関数的に減少する。

元利均等返済
毎月の返済総額(元金+利息分)を均等に返済する方式で、以下のように考える。
毎回の返済額をx(円)とし、完済するまで一定とする。最初の月の返済は元金に1月分の利息が膨らんだ状態から x だけ返済するのであるから、 元金の総額は D×(1+r)−x となる。
2回目の返済時は、残った元金に1月分の利子が上乗せされた状態から x だけ返済するのだから、元金は {D×(1+r)−x}×(1+r)−x となる。
3回目の返済時も同様に、元金は [{D×(1+r)−x}×(1+r)−x]−x となる。
k回目の返済後の借入残高をdkとおくと、漸化式 dk=αdk−1−x が得られる。ただし、α=1+rとおいた。
この漸化式を解くため、 dk=αdk−1−xαdk−1=α2dk−2−αxα2dk−2=α3dk−3−α2x⋮αk−1d1=αkd0−αk−1x のように並べて加えると、 dk=αkd0−(1+α+⋯+αk−1)x=αkd0−1−αk1−αx が得られる。ここで d0=D である。
この結果を使うと、k回目の支払いで、借入残高がどれだけ減少したか(実際にどれだけ借金を返済したか)は dk−1−dk=[x−(α−1)D]αk−1 のように(kの指数関数的に)変化することがわかる。 返済開始当初は、あまり借金は減らないが、ローンの終盤では、利息分に比べて実質的な返済部分が大きくなることを意味している。
n回で完済したいとすると、dn=0となれば良いのだから、 0=αnD−1−αn1−αx となるような x が、毎月の返済額となる。 x=αn(1−α)1−αnD 利率 r の式に戻すと、 x=r(1+r)n(1+r)n−1D となる。
借入残高の、期間の利息を加えた額が新たな借入額となり、その中から、一定の額を返済する。 返済分が利息分を下回ると、雪だるま式に負債が拡大する。
