- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
任务及要求
PAGE I
《数学模型》课程结业论文
扑克牌洗牌模型
任 务 书
[要求]
1、将所给的问题翻译成汉语;
2、给论文起个题目(名字或标题)
3、根据任务来完成数学模型论文;
4、论文书写格式要求按给定要求书写;
5、态度要认真,要独立思考,独立完成任务;
6、论文上交时间:6月1
7、严禁抄袭行为,若发现抄袭,则成绩记为“不及格”。
[任务]
一天,魔术师表演了这样一个节目:将一副看起来杂乱无章扑克牌(去掉2个王,52张)排成一列展示给观众,然后将牌合起来(背面朝上),左手将牌上半部分(26张)拿起,右手拿下半部分,把两部分牌相隔一张进行交叉洗牌(背面朝上),第一张是左手拿的。这样反复洗牌4次,最后将牌展示给观众,牌的排列结果是:?A,?A ,?A ,?A ,?2,?2 ,?2 ,?2,…, ?K, ?K, ?K, ?K。试问原来牌的排列的花色和序号是什么?试用数学方法建立最终的排列结果与最初排列结果之间的关系。
成 绩 评 定 单
评语:
成绩
任课教师签字 年 月 日
摘要
摘 要
把52张扑克牌看成一维数组,用逆推法推出原来的排列。设数组a=[1,2,3,4,…,52],对数组进行从新排列。1,2,3,4分别对应红A,黑A,方A,梅A,依次类推。设加权函数,数组b和数组c,得到的非零数组c表示右手拿的部分,等零的部分放在数组b中表示左手拿的部分,重新合为一维新数组,然后重复四次过程,最后得到原来的排列,依次相对应即可推出原来扑克牌的花色和序号。
关键词:排列;逆推;加权函数;
目录
目 录
TOC \t 标题_谢辞及参考文献,1,标题_附录,1,第2级标题,2,第3级标题,3,第1级标题,1 论文正文: 1
1.1 问题重述 1
1.2 符号说明及模型假设 1
1.2.1 符号说明 1
1.2.2 模型假设 1
1.3 问题分析及模型建立 2
1.3.1 问题分析 2
1.3.2 模型建立 2
1.4 模型求解 3
1.5 结果 3
1.6 优缺点及改进 5
1.6.1 优缺点 5
1.6.2 改进方法 5
参考文献 6
附录 7
数学模型课程结业论文
PAGE 9
论文正文:
扑克牌洗牌模型
问题重述
将一副扑克牌(52张)均分成两部分,左手拿上半部分,右手拿下部分,把两部分牌相隔一张进行交叉洗牌(背面朝上),第一张是左手拿的。这样反复洗牌4次,最后将牌展示给观众,牌的排列结果是:?A,?A ,?A ,?A ,?2,?2 ,?2 ,?2,…, ?K, ?K, ?K, ?K。用数学方法建立最终的排列结果与最初排列结果之间的关系。这是一个从新排列的问题,把一副扑克牌抽象成一组数,用数学方法,对结果进行分析,然后建立模型求出洗牌前的排列。
符号说明及模型假设
符号说明
模型假设
为了简化问题,我们可以先忽略花色和排列,就把52张扑克牌看成一维数组,简化成数组之后,我们就可以用数学方法对数组进行计算了。可以用逆推法推出原来的排列。设数组a=[1,2,3,4,…,52],用逆推法对数组进行从新排列。1,2,3,4分别对应红A,黑A,方A,梅A,依次类推。设加权函数,数组b和数组c,得到的非零数组c表示右手拿的部分,等零的部分放在数组b中表示左手拿的部分,重新合为一维新数组,然后重复四次过程,最后得到原来的排列,依次相对应即可推出原来扑克牌的花色和序号。
问题分析及模型建立
问题分析
已知经过四次洗牌后得到的结果为?A,?A ,?A ,?A ,?2,?2 ,?2 ,?2,…, ?K, ?K, ?K, ?K。要想得到洗牌前排的排列和花色,很显然要用逆推的方法。按照洗牌规则,逆推出洗牌前的排列和花色。洗牌规则是:左手将牌上半部分(26张)拿起,右手拿下半部分,把两部分牌相隔一张进行交叉洗牌(背面朝上),第一张是左手拿的。我们只要想办法交叉的牌分开,就能逆推出原来的排列和花色。
模型建立
我们把52张扑克牌看成一个一维数组,1,2,3,4分别对应红A,黑A,方A,梅A,依次类推。这样我们就可以用数学方法建立洗牌前后的关系了。设数组a=[1,2,3,4,…,52],加权函数f(n)=((-1)^n+1)/2。
如果a*f(n)==0,我们就把这些数拿出来放到数组b中;
如果a*f(n)!=0,我们就把这些数拿出来放到数组c中;
然后把数组b和c重新组成一组新的排列,b中的数在前,c中的数在后;
重复上述过程4次,就可得到最初的排列;
最后按照假设的对应法则还原成扑克牌的排列和花色。
按照上述方法我们就可以编程把洗完后交叉的牌分离开分别放到数组b和c中,然后在组成一个新的一
文档评论(0)