视频加载失败

课程

676 字
约 2 分钟

算法案例 02:经济大恐慌面包开支算法求解

计算机科学导论exercises/computational_thinking·更新于 2026-09-15

算法案例 02:经济大恐慌面包开支算法求解

本报告针对物价飞涨情景下的面包开支计算问题进行数学级数建模与 C++ 算法求解。


一、 题目描述

公元 260011 日发生经济大恐慌,面包价格逐日递增:

  • 1 天:1
  • 2 天:3 元(增加 2 元)
  • 3 天:6 元(增加 3 元)
  • 4 天:10 元(增加 4 元)

若一家人一天固定消耗 4 个面包,估算平年(365 天)一年的总面包开支。


二、 数学递推与级数模型

设第 dd 天单价为 P(d)P(d)P(d)=P(d1)+d=d(d+1)2P(d) = P(d-1) + d = \frac{d(d+1)}{2}

一天消耗 44 个面包,当天的开支为 4×P(d)=2d(d+1)4 \times P(d) = 2d(d+1)

全年 N=365N = 365 天的总开支 SS 为: S=d=13652d(d+1)=2d=1365(d2+d)=2[N(N+1)(2N+1)6+N(N+1)2]=2N(N+1)(N+2)3S = \sum_{d=1}^{365} 2d(d+1) = 2 \sum_{d=1}^{365} (d^2 + d) = 2 \left[ \frac{N(N+1)(2N+1)}{6} + \frac{N(N+1)}{2} \right] = \frac{2N(N+1)(N+2)}{3}


三、 C++ 算法实现

#include <iostream>
using namespace std;

int main() {
    int days = 365;
    long long total_cost = 0;
    long long current_price = 0;

    for (int day = 1; day <= days; day++) {
        current_price += day; // 第 day 天单个面包单价
        total_cost += 4 * current_price; // 一天 4 个面包
    }

    cout << "一年的面包总开支为: " << total_cost << " 元" << endl;
    return 0;
}

四、 求解结果

代入 N=365N = 365 计算得到:一年面包总开支为 54,582,340 元(约 5458.23 万元)。

Profile Image of the Author
Sonder
好想要技术
这是公告标题
这只是一个公告
分类
标签
站点信息
构建平台
GitHub Actions
博客版本
Firefly v6.16.7
文章许可
CC BY-NC-SA 4.0
文章目录