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

C語言模擬:百萬富翁與陌生人的換錢賭局 (指數增長威力)

     編輯:關於C

這是一個經典的數學直覺陷阱題目。陌生人提議:每天給富翁 10 萬元,富翁第一天給 1 分,第二天 2 分,第三天 4 分……每天翻倍,持續 30 天。富翁以為穩賺,實則第 30 天需支付金額驚人。程式模擬每日雙方收支並列印。

數學模型

  • 富翁每天固定收入:300,000 元(題目寫 10 萬但代碼用 30 萬,此處依代碼)。
  • 陌生人第 i 天給付:0.01 * 2^(i-1) 元。
  • 累計比較雙方總收支。

程式碼實作

#include <stdio.h>

void star(void); // 印分隔線

int main() {
    int i;
    float money = 0.01f;      // 陌生人第一天給 0.01
    float stranger_total = 0; // 陌生人累計給付
    float rich_total = 0;     // 富翁累計收到

    star();
    for (i = 1; i <= 30; i++) {
        rich_total += 300000.0f;   // 富翁每天得 30 萬
        stranger_total += money;   // 陌生人給付
        money *= 2;                // 翻倍

        printf("第%2d天後,富翁給的錢為:%10.2f\t", i, stranger_total);
        printf("陌生人得給的錢為:%11.2f\n", rich_total);
    }
    printf("\n富翁看到結果後,會反悔吧!\n");
    printf("\n哈哈,謝謝您的合作!\n\tGOOD BYE!\n");
    star();
    return 0;
}

void star(void) {
    for (int i = 0; i < 60; i++) printf("*");
    printf("\n");
}

執行過程截圖

關鍵洞察

指數增長極其驚人:第 30 天單日金額約 536 萬,30 天總和超過 1 億,遠超富翁的 900 萬收入。這說明複利/指數效應不可小覷。

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