首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言實戰:軟體工程師存定期能否買得起房?完整試算與代碼解析

     編輯:關於C語言

問題背景:從「零理財」到「銀行定期」的差距

承接前一題「問題五十」,原本假設這位軟體工程師完全沒有理財觀念,薪水全放家裡不生息。現實總比極端假設合理些——至少會把錢存銀行吃利息。本題將條件改為「每年薪資存入銀行一年期定期,年利率 3.5%」,房價年漲幅 10%,初始房價 187 萬、年薪 40 萬,請問幾年能買得起房?

核心邏輯與數學模型

這是一個典型的「複利對抗」問題:

  • 房價遞迴公式:Pₙ = Pₙ₋₁ × (1 + 0.10)
  • 存款遞迴公式:Sₙ = Sₙ₋₁ × (1 + 0.035) + 40
  • 終止條件:Sₙ ≥ Pₙ

程式碼採用 while 迴圈逐年推演,計數器 i 即為所需年數。

完整 C 代碼(含註解)

#include <stdio.h>

int main() {
    int i = 0;                 // 年數計數器
    float salary = 40;         // 年薪(萬)
    float begin_value = 187;   // 初始房價(萬)
    float rate = 0.10;         // 房價年漲幅 10%
    float rateofbank = 0.035;  // 銀行年利率 3.5%
    float late_value;          // 當年房價
    float sum_money = 0;       // 當年存款本息

    // 第一年結束時的初始值
    late_value = begin_value * (1 + rate);
    sum_money = salary * (1 + rateofbank);

    while (sum_money < late_value) {
        i++;
        late_value *= (1 + rate);                    // 房價漲價
        sum_money = sum_money * (1 + rateofbank) + salary; // 存款增長 + 新薪資
    }

    printf("嘻嘻,得經過 %d 年後,軟體工程師可以買到房子!\n", i);
    return 0;
}

執行結果與解讀

程式執行畫面

程式輸出年數後,我們可以進一步試算:若薪資成長、利率變動、或改為投資報酬率 5%~7%,年數會大幅縮短。這也提醒我們:單靠定期存款對抗高房價漲幅,時間成本極高;早期規劃資產配置才是關鍵。

延伸思考

  1. 若薪資每年調薪 3%~5%,年數會如何變化?
  2. 若改用指數型基金定投(年化 6%~8%),門檻會降到幾年?
  3. 現實中首付比例、貸款利率、租金機會成本如何納入模型?

歡迎在留言分享你的試算結果或改良版代碼!

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved