当前位置: 首页 > news >正文

原神“十盒半价”问题的兹白式建模分析

免责声明

博主仅为大三计算机学生,并无高代、数分等数学专业知识,数学水平仅仅停留在考研数一的水平。因此本文在力求内容表述浅显易懂到初高中学生也能听懂的同时,可能造成内容表述不够严谨的情况,请见谅

题面描述

在某六字游戏中,有一个经典的“十盒半价”问题:

具体而言是买茶叶:3盒9折,48折,10盒半价(5折)

那么兹白小姐姐开启超算模式,看到了一个数学规律,从而推出来了一个逆天结论:21盒0折。

建模分析

差后等差数列

那么兹白的思路是什么呢?我们来看看原话:

她是看成了两个数列:

从中找到规律:

然后“假设间隔的差相等”,也就是她做了一个假设——数列的差是等差的,即差后等差(高中)。

所以可以求出a4:

与此同时,另外一边......

也就是说,n=4时,b4恰好为0,而此时a4=21,这样就得到了所谓的21盒免费,再后面老板倒贴的情况。

函数拟合

那么还有另一种解释方法:

已知三个点(1,3)(2,4)(3,10),那么可以确定x关于n的二次函数解析式:

同理已知三个点(1,9)(2,8)(3,5),那么可以确定y关于n的解析式

那么n=4是解得x=21,y=0。和先前结论一致。

在这里为什么能够确定一个二次函数的解析式呢?因为三个不共线的点,通过待定系数法(初中)可以确定唯一的一条二次函数,但是无法确定更高阶的。如果深入探讨这个问题那就要说到线性代数的秩这一块了。

y与x的关系

我们从整体上看,现在已经得到了x和y关于n的参数方程x(n),y(n)。

那么稍微变一下形:

那么现在我们就可以尝试把t消掉(在这里可能要经过非常非常庞大的计算!),得到:

这是一个什么曲线?

如果对数学非常敏感你可能就看出来了:这是一条经过旋转后的抛物线,所以它的图像长这样:

如果你会线性代数的二次型,那么这里应该就可以通过正交变换可以消去交叉项(紫皮书线代第五章二次型),从而将方程化为标准抛物线形式,但是笔者很菜,忘完了。

那么y与x的关系,也就是打多少折买多少盒的关系,也就一目了然了。

Code

import numpy as np import matplotlib.pyplot as plt t = np.linspace(-1.5,4.2,1000) x = 2.5*t**2 - 6.5*t + 7 y = -t**2 + 2*t + 8 plt.figure(figsize=(8, 6)) plt.plot(x, y, label="Parametric Curve", color='#FFC82D') points = [(3,9),(4,8),(10,5),(21,0)] for px,py in points: plt.scatter(px, py) plt.text(px, py, f"({px},{py})", fontsize=10, verticalalignment='bottom', horizontalalignment='right') plt.axhline(y=10,color='#953984',linestyle='--',linewidth=2,label='y=10') plt.axhline(y=0,color='#953984',linestyle='--',linewidth=2,label='y=10') plt.xlabel("x") plt.ylabel("y") plt.title("Parametric Curve with Marked Points") plt.grid(True) plt.axis("equal") plt.legend() plt.show()

问题假设

那么回到问题本身,为什么21盒0价是不对的?大家都可能知道,但很少人说得到点子上。如果你是商贩,你就要被白马仙人占便宜了(滑稽)!

因为兹白做了一个很重要的假设:买的盒数和打的折扣都是差后等差数列变化,或者说整个数量关系成呈二次函数变化,这两个说法实质是一样的。

但是:
1.怎么我们通过三个点,我们就默认存在了一个光滑的规律,并且把它延伸到第四项?
2.而且拟合为什么就恰好是二次函数,而并非三次甚至更高次?

所以说,这一步但在现实里,是一个很强的数学建模假设。如果这个假设不成立,那“21盒免费”就只是模型里的结果,而不是现实里的结论。或者说,正是因为现实生活中没办法打0折甚至打负折,所以说假设不成立,通过错误的假设得出来的所有数学结果那都是扯淡了。

后记

突然发现这是我的第100篇博客,写了这么一篇特殊的文章,也算是冥冥中的天意了吧。我前面的文章主要是梳理计算机科班生的书面知识,而不是所谓的技术博主。我知道自己在这方面仍是小白,并且觉得CSDN上讨论的大部分东西我都是几乎看不懂的状态,也因此无比羡慕那些能够自学技术的朋友的自驱力。或者说,我开始迷茫于现在这两年多所做的一切努力,是否入了计算机的门,是否能最终找到好的工作,我完全不知道这些,也隐隐有了放弃的念头。自以为数学好对它有兴趣,但实际上不会分析,自以为是计科科班生,却从未参与工程项目,真的啥也不是了。只有个聊以自慰的事:谁知道下一天甚至下个月,我的思想有没有改变呢?

人尽力之后,剩下的只能交给时间。

http://www.jsqmd.com/news/392225/

相关文章:

  • 如何开发微信里的小程序 - 码云数智
  • 自吸泵选购技巧:磁力驱动技术品牌对比,电动自吸泵/立式螺杆泵/自吸式离心泵/耐酸碱磁力泵,自吸泵供应商哪家权威 - 品牌推荐师
  • 微信扫码点餐小程序怎么开通 - 码云数智
  • 一文搞懂01 - 什么是SVM:核心原理+实战案例
  • nsynote-通信
  • 深入解析:【强化学习】DQN 改进算法
  • Vercel AI SDK 6 完整教程系列 - 第三部分:构建智能 Agent 与多模态应用
  • 清单来了:8个降AI率网站深度测评,专科生必看!
  • 2026更新版!10个降AI率平台测评:MBA降AI率必备工具推荐
  • 一文讲透|专科生必备的一键生成论文工具 —— 千笔ai写作
  • 学长亲荐!自考论文神器 —— 千笔·专业论文写作工具
  • 建议收藏|最强的AI论文写作软件 —— 千笔写作工具
  • SLAM:前端(Front-end)、后端(Back-end)
  • 手机全程托管种地,输入一键托管指令,处理,按计划自动执行,输出,每日进度报告。
  • 企业内部培训小程序怎么做 - 码云数智
  • 微信小程序制作平台对比评测:码云数智、有赞、微盟 - 码云数智
  • 如何开发微信小程序 - 码云数智
  • 题解:洛谷 AT_dp_e Knapsack 2
  • 微信小程序开发一个多少钱? - 码云数智
  • 小程序商城哪个平台好用?SaaS小程序商城制作平台对比 - 码云数智
  • 扫码点餐小程序怎么弄 - 码云数智
  • 题解:洛谷 CF106C Buns
  • 2026年必看!单北斗GNSS变形监测大坝监测推荐榜单,助力安全管理与风险预警
  • 如何搭建微信小程序商城 - 码云数智
  • 基于jQuery与CSS3的全屏3D旋转木马焦点图特效实战代码 - 实践
  • 基于深度学习的西红柿成熟度检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Django+web+训练代码+数据集)
  • OpenCV Python技术文档
  • 实测对比后一键生成论文工具 千笔·专业论文写作工具 VS 知文AI 专科生专属
  • OpenCV Python技术文档HFS
  • OpenCV Python技术文档1