一道北大强基题背后的故事(二)——出题者怎么想的?

news2024/12/23 12:02:31

早点关注我,精彩不错过!

2021e5d3355a1a39c2a0023cd67fdf72.jpeg

上篇文章中,我们给出一道北大强基考试中的试题,计算[((1 + sqrt(5)) / 2) ^ 12],给出了一条没有任何数学直觉,纯硬算的弯路以及题目的参考答案,相关内容请戳:

一道北大强基题背后的故事(一)——从走弯路到看答案

把答案字符串背下来,就学会数学了吗?

在开始内容之前,我们不妨回顾一下题目的解答:

a.  构造斐波那契数列:b_(n + 2) = b_(n + 1) + b_n,令b1 = 1, b2 = 3;

b.  递推计算,知b12 = 322;

c.  写出bn的通项公式:bn = ((1 + sqrt(5)) / 2) ^ n + ((1 - sqrt(5)) / 2) ^ n;

d.  取n = 12, ((1 + sqrt(5)) / 2) ^ 12 + ((1 - sqrt(5)) / 2) ^ 12 = 322;

e.  因为((1 - sqrt(5)) / 2) ^ 12必然在(0, 1)内,因此[((1 + sqrt(5)) / 2) ^ n] = b12 - 1 = 321。

我相信很多人直接看到这个解答都会一头雾水,感觉就是有人凭空给了一个构造,然后就刚刚好能把问题解决了,这几乎是上帝视角啊!a是很合理,可我为什么要写出a的式子?b和d为什么会去选择算b12的内容?c为什么要去用斐波那契数列的通项公式?e为啥恰好就这么解决了原问题呢?

看完了上述正向的解题步骤,还只是学懂此题的第一步。只会了这一步,下次除非遇到仅仅改掉参数的原题的浅层变化,还是很难有思路做出来。因为虽然每一步都看得懂,但我想不到啊!

就好像有一条带了箭头标记的迷宫,出题者是走出来了,可是把箭头撤了,又换了个不知道是啥样的迷宫,还要我尽量不走弯路的走出来?以为我是上帝吗?

其实,这个解答只是这个题的详细答案而已,(仅仅比“参考答案”321详细一点),就是是什么而已,压根没告诉你为什么,而只有为什么,才能帮助你举一反三地解其他题。

如果不了解这些,只是背下来这段解答对我下次再遇到类似问题(除去一模一样的时候)的时候,我还是没有任何思路去想到思路和给出解答啊。那这玩意到底应该怎么学习,怎么总结呢?或者说,出题人就是出的一个丑题,压根没有对数学基本概念、逻辑和数感的考察,纯粹看你见没见过,考察技巧?

所以,学数学解题,注意是解题,或者相关的数学智力游戏,重点是学习如何去破解一个谜题。即总结可能存在线索的特征,根据经验去尝试,最后在基本数学概念知识和逻辑的框架下完整求解或者证明。这也就是我们的分析过程。

可这个题怎么分析呢?可以怎样去猜测可能的思路,以及这样的思考方法,有没有泛化和通用性?

数学题是怎么出出来的?

解铃还须系铃人,那我们接着不妨揣测还原一下,一个出题老师,是出于怎样的考察目标,想到这样的题目,来达成目标的呢?

出题考试的目标有两个,一是通过题目考察学生对基础知识不同层次的记忆,理解和熟练程度;另一个就是分析解决能力,包括过程中的逻辑推理的严谨性等。一般而言,会从考察的基础知识的内容,一道题只会涉及到1~2个核心主干知识,比如,这题想考察数列这个章节的内容。

然后,具体选中了热门的竞赛知识点“特征根公式”。在一般的竞赛书上都有它的正面表述,直接考察就没有区分度了,我得想点花招。比如反过来用咋样?其反过来的逆定理的用法虽然对,但教科书,培训书上应该都不直接有,需要思考或足够量的练习才能有此灵感。于是,我希望给出一个题,要把形如a_n = Ca1 ^ n + Da2 ^ n的通项公式,能化成a_(n + 2) = Aa_(n + 1) + Ba_n的递推公式才能解决。故直接出题:

已知a_n = Ca1 ^ n + Da2 ^ n,若a_(n + 2) = Aa_(n + 1) + Ba_n,求A, B。

这里化通项公式到递推公式,基本就是原特征根定理的逆定理的应用了,在变换老旧的特征根考察的基础上,还顺便考察了韦达定理。学生只要约摸记得特征根公式,也不用严谨推理,就基本能倒着套用过来,这毕竟不是大题,也不用那么严谨。

但是这还是太过于浅层,容易想到,基本只相当于盖住前半句的古诗默写题。几乎是带着参数的纯数学模型结论的记忆和计算执行,还不涉及任何分析能力。于是还得再改改,得把需要这么转化这一点的思路隐藏起来。

好了,既然要分析才能得到思路,那怎么才能给出线索想到这里呢,即化成递推公式有什么优势呢?这时他想起了常见的这种数列代表,斐波那契数列,发现其递推公式相对是可计算的,就是一些迭代的加减乘除而已,而对应求出根以后,难免就带上了根号,对其n次方基本就比较麻烦了,要超过一般手算复杂度。即通项公式虽好,但并无法直接计算。因此,给出计算a_n的通项公式,作个计算题算个a10, a20之类的,要求自己发现直接计算的计算量迅速估计出有困难,转而用特征根法的逆算法找递推关系式,就是本题隐藏考察点,增加难度的第一层了:

已知a_n = Ca1 ^ n + Da2 ^ n,求a20。

这题已经有点分析的意思了。不过,虽然隐藏了目标递推关系式的形式,但是稍有经验的学生就能看出这里a_n是有递推关系表达式的,并且根据特征根公式轻易一求,带入就马上解决了,思路依然有迹可循,基本也只是倒着套公式而已。

于是想再加码,观察到因为C和D是二次方程两个对称的根,一起出现还是太明显在提醒它和特征根方程之间的关系了吧?如果我只让求其中一部分Ca1 ^ n呢?因为本质上是a_n是可以求的,于是要求Da2 ^ n要能忽略不计,再改成估算题不就好了!于是自然想到,这个指数式子如果有|a2| < 1,那么一切|a2 ^ n| < 1,这样,a_n和Ca1 ^ n的差距,仅在小数部分,恰好有给定的整数部分值。于是构造A = B = 1,作了一个初步构造,得到了一对典型的根(1 +/- sqrt(5)) / 2尝试写下题目:

求[((1 + sqrt(5)) / 2) ^ n]。

然后再验证一下直接计算的难度,找到一个合适的n,使得用二项式定理展开或者指数算法的复杂度远远超过一场考试给这道题的时间,应该无空子可钻。发现n = 12还不错,再左右联想没有啥漏洞,成型。注意,没有漏洞的意思是,学生是有一定的线索走进我设计的一环一环的圈套的,要看懂我给的暗示,同时,逻辑正确的前提下,没有别的太容易的捷径可走。

实际上,中途出题人可能还设计过很多不同的考点,分析难度的设定,一些其他设置障碍的方法,以及尝试过很多不同参数的选择。这里为了简化,也是几乎省略了很多中间想法,直接给出了我推断的出题人当时的思考选择的最优路径,而忽略了其他被删掉的,把最后形成的和最终题目相关的出题思路展现了出来。看上去,它是从核心考察点出发,两路延伸后,形成了一整个带着这个核心内容的设计解题路径。

数学题本质是猜谜?

相信你看到了,这里的出题的题眼就是,它隐藏了本该出现要参与计算的项Da2 ^ n,后面的取整以及这些具体参数的取值都是为了让结果在去掉以后仍然能在可算的范围内以不发现这个丢失项,达到考场环境下不可计算的程度。而其它的考察点,都是教科书里本来就有的知识点,像程序一样套用即可。

可以说,刨去基础知识以外,能否解决此题,就看能不能想到要配方上一个Da2 ^ n。只要没有从不可计数的解题方向中找到这个方向,就必定掉进直接计算的陷阱。

难道我需要去背下来这条规律:看到(1 + sqrt(5)) / 2的次幂,加上(1 - sqrt(5)) / 2的同次幂再算?或者再泛化一下,记忆点里加上sqrt,取整,这些特征?又或者,纯靠猜?还是就像猜谜一样,要见多识广?这样的虽然成立但是几乎无穷的等价变换方向,能否有章可循地找到,怎样才能找到?

但可能换个题,这个尝试又可能失效。问题是,这条结论看上去,也不是什么数学知识,是一条毫无美感的纯记忆垃圾。

所以,这样的数学考试题,是不是好题呢,出题者设计的路径,是否符合一般数学游戏题的基本文化?如果还有内容的创新,是否真的让人眼前一亮,拍案叫好,怎样的创新是真的好?

而于数学素养,这种基于解数学题的逻辑思维训练的价值在哪呢?怎么学习和训练呢?

别着急,下回接着说。

22897b64421e00528c35c6e5494626d2.gif

我们是谁:

MatheMagician,中文“数学魔术师”,原指用数学设计魔术的魔术师和数学家。既取其用数学来变魔术的本义,也取像魔术一样玩数学的意思。文章内容涵盖互联网,计算机,统计,算法,NLP等前沿的数学及应用领域;也包括魔术思想,流程鉴等魔术内容;以及结合二者的数学魔术分享,还有一些思辨性的谈天说地的随笔。希望你能和我一起,既能感性思考又保持理性思维,享受人生乐趣。欢迎扫码关注和在文末或公众号留言与我交流!

c84c230d22e4d7f6f0e2276286fab4af.gif

44b082ed3e468ecead060e60842f51ad.png

6c5b289888ea390abbc871e1d753ab4b.jpeg

扫描二维码

关注更多精彩

一道北大强基题背后的故事(一)——从走弯路到看答案

用排列组合来编码通信(七)——《我的5/4张牌的预言》

好魔术背后的秘密

对称思维的妙用之从解题到本质(六)——网红鸭子半圆概率问题的多种解法

文字对称中的数学与魔术(八)——魔术《抓牌奇迹》与系列总结

fcff2fe5f4b31bff947fee46a1ed4f30.gif

点击阅读原文,往期精彩不错过!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IronPDF 2023.6.10 FOR NET CRACK

适用于.NET的IronPDF 2023.6.10 添加新的注释API并改进图像压缩逻辑。 2023年6月2日-14:42新版 特点 添加了新的连续进给选项。例如用于生成收据文档。 添加了新的注释API&#xff0c;包括注释删除。 添加了删除书签的功能。 将内存使用率和性能提高了10%。 改进了图像…

全球加速AEB「强标」,15万元以下车型或将「释放」巨量需求

目前&#xff0c;智能驾驶技术升级&#xff0c;主要是在帮助中高端车型提升产品竞争力&#xff0c;同时为车企构建未来软件付费盈利模式的转型。 但另一方面&#xff0c;基础辅助驾驶&#xff0c;尤其主动安全&#xff0c;比如&#xff0c;AEB&#xff08;自动紧急制动&#xf…

【企业化架构部署】基于Apache搭建LAMP架构

文章目录 前言一、LMAP架构介绍1.概念2.LAMP构建顺序3.LAMP编译安装4.各组件介绍4.1 Linux4.2 Apache4.3 MySQL4.4 PHP/Perl/Python 二、服务器部署1.Apache部署2.MySQL部署3.PHP部署4.安装论坛 前言 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整…

考上大学,走进网安

出品&#xff5c;MS08067实验室&#xff08;www.ms08067.com&#xff09; 本文作者&#xff1a;北平靴 01 我和网络安全的相遇&#xff0c;说来很巧。2022年我考入吉林大学计算机学院&#xff0c;正巧我们的导助是学校ctf战队的成员&#xff0c;所以在刚入学的很清闲的日子里&a…

Python中logger模块的使用教程

参考模块&#xff1a; https://www.digitalocean.com/community/tutorials/how-to-use-logging-in-python-3 logger是python的内置模块&#xff0c;用以输出代码运行过程中的运行情况&#xff0c;极大的方便了我们的debug过程。参考资料中列出了使用logger相比于print优越的地方…

ResNet学习

目录 是什么作用怎么做论文阅读 视频来源&#xff1a;https://www.bilibili.com/video/BV1rZ4y1m7d9/?spm_id_from333.337.search-card.all.click&vd_sourcea402747bd6c153bdb2defee02a9cb617 https://www.bilibili.com/video/BV1rZ4y1m7d9/?spm_id_from333.788&vd_…

Java官方笔记5数字和字符串

Numbers Number的子类&#xff1a; 另外还有BigDecimal和BigInteger&#xff0c;用于高精度计算&#xff0c;AtomicInteger和AtomicLong用于多线程应用。 我们有时候需要用包装类而非基本数据类型&#xff0c;理由如下&#xff1a; 方法入参类型为Object&#xff0c;只能传入对…

什么是Linux shell

一句话概括&#xff1a;简单来说脚本就是将需要执行的命令保存到文本中&#xff0c;按照顺序执行&#xff08;由上往下执行&#xff09;&#xff0c;shell脚本:shell脚本就是一些命令的集合。 一、创建第一个Shell脚本&#xff1a;输出helloworld 1&#xff0e;脚本格式 脚本…

体验管理|“以旧换新”重塑“家电和耐用品”低频的消费需求

Guofu 第 96⭐️ 篇原创文章分享 &#xff08;点击&#x1f446;&#x1f3fb;上方卡片关注我&#xff0c;加⭐️星标⭐️~&#xff09; &#x1f68f; 写在前面 消费者越来越注重产品或服务的体验&#xff0c;而品牌也在竭力提供更好的体验来吸引和保留消费者。 &#x1f926;…

华为OD机试真题 Java 实现【火车进站】【牛客练习题】

一、题目描述 给定一个正整数N代表火车数量&#xff0c;0<N<10&#xff0c;接下来输入火车入站的序列&#xff0c;一共N辆火车&#xff0c;每辆火车以数字1-9编号&#xff0c;火车站只有一个方向进出&#xff0c;同时停靠在火车站的列车中&#xff0c;只有后进站的出站了…

基于SpringBoot+Vue的小区物业管理系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;我是一名在Java圈混迹十余年的程序员&#xff0c;精通Java编程语言&#xff0c;同时也熟练掌握微信小程序、Python和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…

【Android】拾物App期末作业

一、期末作业题目 《校园失物/拾物APP》 二、实施目的 通过本实训&#xff0c;使受训者可以深入理解Android相关技术&#xff0c;并将所学知识应用到实际的中等规模的程序设计中。同时&#xff0c;通过本实训&#xff0c;受训者可以拓展Android相关的知识&#xff0c;提升受训者…

修改EMC VNX的管理口IP地址

本文详细介绍如何修改EMC VNX存储的管理口的IP地址&#xff0c;注意Unifed 和block的VNX存储方法是有所不同的&#xff0c;这也是有好几个朋友问我这个问题&#xff0c;写这篇博客的原因。 在修改管理口的IP地址之前&#xff0c;要确保存储不在storage domain中&#xff0c;如…

MTK 人像双摄虚化导通流程

和你一起终身学习&#xff0c;这里是程序员Android 经典好文推荐&#xff0c;通过阅读本文&#xff0c;您将收获以下知识点: 一、 创建 LogicalCameraName 相关的metadata二、 导通 LogicalCameraName Middleware 相关配置三、认 LogicalCameraName 是否创建成功四、双摄bringu…

用自然语言分割一切图像【lang-segment-anything】

近年来&#xff0c;计算机视觉取得了显着进步&#xff0c;特别是在图像分割和目标检测任务方面。 Segment Anything Model (SAM) 是最近的一项重大突破&#xff0c;这是一种多功能的深度学习模型&#xff0c;旨在有效地从图像和输入提示中预测对象掩码。 通过利用强大的编码器和…

听说最近AI应用爆了?!来AI Studio玩转大模型应用

‍ 飞桨 AI Studio 是基于百度深度学习平台飞桨&#xff08;PaddlePaddle&#xff09;的人工智能学习与实训社区&#xff0c;支持一站式模型在线开发与应用。提供优质开源模型、丰富的开源内容、功能强大的在线编程环境、云端超强 GPU 算力及存储资源&#xff0c;帮助开发者们快…

Docker镜像更新通知器DIUN

什么是 DIUN ? Docker Image Update Notifier 是一个用 Go 编写的 CLI 应用程序&#xff0c;可作为单个可执行文件和 Docker 映像交付&#xff0c;用于当 Docker 映像在 Docker registry中更新时接收通知。 和老苏之前介绍过的 watchtower 不同&#xff0c;DIUN 只是通知&…

基于Grafana的WebUI添加Prometheus数据源(三)

基于Grafana的WebUI添加Prometheus数据源(三) 1、 Grafana 介绍 1.1 什么是Grafana Grafana是一款近几年比较流行的开源数据绘图工具平台。Grafana原生支持包括但不限于InfluxDB&#xff0c;MySQL&#xff0c;OpenTSDB&#xff0c;PostgreSQL和Prometheus等多种数据源作为输入源…

勤于奋讲解国外LEAD做任务前的准备

欢迎关注勤于奋 每天12点准时更新国外LEAD相关技术 今天跟大家分享一些做国外LEAD一些资源&#xff0c;就是做国外LEAD前IP的检查&#xff0c;有人不是很清楚&#xff0c;今天分享一些检查工具。 第一个当然是whoer&#xff0c;这个工具我用的最多&#xff0c;很早的时候就使…

深入了解CUDA编程模型:并行计算的强大工具

深入了解CUDA编程模型&#xff1a;并行计算的强大工具 本篇博客将详细介绍NVIDIA的CUDA编程模型&#xff0c;帮助您更好地理解并行计算的基本原理和技巧。CUDA是一种通用并行计算平台和编程模型&#xff0c;它允许开发者利用NVIDIA的GPU进行高性能计算。 CUDA已经成为GPU计算的…