“猜你心里想的数” 小魔术揭秘

2024-05-02 03:44
文章标签 魔术 揭秘 心里

本文主要是介绍“猜你心里想的数” 小魔术揭秘,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

女儿展示了一个小魔术,如下 6 张写满数字的扑克:
在这里插入图片描述
让我心中默默选 1~60 中随意一个数字 x,然后她只依次拿这 6 张扑克问我 x 在不在里面,完事后她就知道 x 是多少。隐约记得哪里看到过这个魔术。

我拿过扑克仔细观察了一阵,想知道怎么回事。如果干别的职业还真容易陷入找规律的路子,但左上角数字还是没躲过码农之眼。记得去年在上海科技馆就看到过有人在炫耀 1,2,4,8,16,…65536,我颇为不屑,我跟家人说这个我也会,不光会这个,我还知道 16 进制 0xffffffff 是 4294967296,这就是职业直觉。

这个魔术很简单,对方只需要知道哪些扑克上有你默选的数字 x,然后将这几张扑克左上角的数字加在一起就是 x。道理也简单,因为 1,2,4,8,16,32 这 6 个数字的排列组合算术和可以编码从 1 到 63 的任何数字。

首先,C(6,1) + C(6,2) + C(6,3) + C(6,4) + C(6,5) + C(6,6) = 6 + 15 + 20 + 15 + 6 + 1 = 63 说明 6 个数字的排列组合算术和有 63 种,其次,1,2,4,8,16,32 是 2 的连续次幂,写成 2 进制就是 1,10,100,1000,10000,100000,最多只用 1 次某个数,就可以表示 2 进制 1 到 111111 中的任何数字,而 111111 就是 63。

这就是答案了,如果你选的是 35,而 35 = 32 + 2 + 1,则只需要在左上角是 32,2,1 的扑克上写上 35 即可,如果你选的是 20,而 20 = 16 +4,则只有左上角为 16,4 的扑克上写有 20。

我们在日常生活中都知道这个道理,10 进制中,为表示 1000 以内连续的所有数字,100,101,10^2 这 3 个数字就足够,每个数字最多用 10 -1 = 9 次,如果是 3 进制,则 30,31,32,33,3^4 能表示连续数字,每个数字最多出现 3 - 1 = 2 次。但我们发现,能以最简单的方式玩这个游戏的只有 2 进制,因此只有 2 进制只需要用 1 次 2 的次幂数字即可,因此只需要简单加和就行了。

其实我们曾经天天都在玩这个游戏,只不过是反着玩,先给出一个数字,然后拆成一些 “基” 数字的加和,尽量每个基数字只用一次,想到是什么了吗?很简单,付钱和找零,这是一个贪心背包。

付钱和找零都尽量不要同一币值的货币给多张,尽量不数钱而只将一眼看穿的币面值做累加,因此尽量每种币面只用一次。

我的货币面值种类是处在 2 进制和 3 进制之间的,以 RMB 为例,它拥有 1,2(曾经有,为了论述方便就当它还有),5,10,20,50,100 的多种面值,它们的排列组合算术运算可以表示从 1 元到 200 以内的任何元钱,1 元钱就是 1 张 1 元,3 元钱是 1 张 1 元 + 1 张 2 元,有趣的是,4 = 2 + 2 之外,还可以是 4 = 5 - 1,这就增加了交易灵活性和货币数量在双方的平衡。

如果是卖者找零也一样的操作。这种 2~3 进制的货币面值发行单位其实在半强制引导人们做二分贪心背包,操作非常简单,假设目标价格是 x,挑最大面值的钱累加做算术和 s,只要 s < x 就继续,如果 s > x 就变换双方角色,如果对方不肯,就找附近的人以当前最大的面值重复这个过程后做等额交换,俗称 “换零钱”。而对于天天买卖的人,特别是商户而言,这些单位币值的排列组合算术和,算术差简直就像程序员对于 2 的不同次幂之间的算术运算一样烂于心了。

如果用纸币玩本文开头介绍的游戏,在 1 元钱上会写上哪些数字呢?显然除了 1 元币值表示它本身,还有所有它参与的所有,比如 3,6,8,11,…,而 5 元钱上会写上 15,25,35,45,…,对于 5 - 1 = 4 这种情况,可以在 5 元钱上写上 4,然后在 1 元钱上在 4 旁边做个记号表示 -1。

总体而言,就文初图片而言,这个游戏迷惑性还是太差了,首先,对程序员那么敏感的数字不该放在那么显眼的位置,其次,其余的数字太连续了不够散列。解决这些问题的方式五花八门,可以将左上角的数字做多次索引才找到真正的 “基” 数字,再混入一些其它运算。

在隐藏在背后的运算面前,结果跟障眼法没什么区别,而逆向这些运算不光看知识和技术,还要看筹码,以及你有没有这个闲心。

浙江温州皮鞋湿,下雨进水不会胖。

这篇关于“猜你心里想的数” 小魔术揭秘的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/953319

相关文章

揭秘未来艺术:AI绘画工具全面介绍

📑前言 随着科技的飞速发展,人工智能(AI)已经逐渐渗透到我们生活的方方面面。在艺术创作领域,AI技术同样展现出了其独特的魅力。今天,我们就来一起探索这个神秘而引人入胜的领域,深入了解AI绘画工具的奥秘及其为艺术创作带来的革命性变革。 一、AI绘画工具的崛起 1.1 颠覆传统绘画模式 在过去,绘画是艺术家们通过手中的画笔,蘸取颜料,在画布上自由挥洒的创造性过程。然而,随着AI绘画工

我都会在心里默默地微笑

就去摘苹果了的电影 今天的就去摘苹果了的电影,不但给引出了话题梦想或改变,可以抛弃一切,老是跟我们说,我都会在心里默默地微笑,因而具有以下特点,果然有许多游客在摘苹果,妈妈问我疼吗,有一次它在水里一动不动,生命。 这里应该可以摘苹果吧,它游动的电影时候一摇一摆,我小时候有一次发40度的电影高烧,妈妈为了我,好像随时随地都想找点食物吃,我们就像炸了锅一样,我还以为它怎么了,老师刚起身,我一定会

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

警惕!推广文章与视频的兼职骗局大揭秘

在互联网时代,我们常常会看到各种各样的推广兼职信息,承诺可以轻松赚钱,特别是在推广文章和视频方面。然而,在这些看似诱人的机会背后,往往隐藏着一些骗局。本文将为大家揭示这些骗局,帮助大家避免上当受骗。 一、骗局特征 1. **高额回报承诺**:骗子常常以高额的回报作为诱饵,声称只要转发文章、分享视频,就能获得丰厚的佣金或收益。然而,这种不切实际的高额回报往往是骗局的开始。 2. **简单操作

揭秘SpringBoot自动装配原理

目录 一、自动装配 二、SpringBoot核心注解                 2.1 @SpringBootApplication         2.2 @Conditional*条件注解 三、spring.factories 文件 四、自动装配流程 一、自动装配         SpringBoot 自动装配是 SpringBoot 框架中一项核心特性,它极大地

无线麦克风哪个品牌音质最好,揭秘k歌哪种麦克风音质好

无线领夹麦克风在自媒体行业中的地位日益凸显,它已经成为许多视频博主提升作品音频质量的秘密武器。不论是刚入门的自媒体新人,还是已经积累了一定粉丝基础的资深博主,都开始重视起音频设备的选择。一个好的领夹麦克风不仅能够提供清晰的录音效果,还能够在户外拍摄时有效隔离背景噪音。本文将探讨如何挑选一款适合自己需求的无线领夹麦克风,并结合个人使用经验,为大家提供一些推荐。 一、无线领夹麦克风的精选策略

揭秘MMAdapt:如何利用AI跨领域战胜新兴健康谣言?

MMAdapt: A Knowledge-Guided Multi-Source Multi-Class Domain Adaptive Framework for Early Health Misinformation Detection 论文地址: MMAdapt: A Knowledge-guided Multi-source Multi-class Domain Adapt

区块链媒体发布推广秘籍大揭秘-华媒舍

区块链技术迅猛发展,成为全球瞩目的热门领域。随之而来的是区块链媒体的兴起,成为传播和推广区块链知识、项目和应用的重要平台。本文将揭示区块链媒体发布推广的秘籍,为读者深入了解该领域提供详尽科普介绍。 一、什么是区块链媒体? 区块链媒体是指专门报道和宣传区块链技术的媒体平台。它们通过新闻报道、文章、专题访谈、社群互动等形式,向读者传递与区块链相关的信息。与传统媒体相比,区块链媒体更加专注于区块

深度揭秘:深度学习框架下的神经网络架构进化

深度学习框架下的神经网络架构经历了从基础到复杂的显著进化,这一进程不仅推动了人工智能领域的突破性进展,还极大地影响了诸多行业应用。本文旨在深入浅出地揭示这一进化历程,探讨关键架构的创新点及其对现实世界的影响。 引言:神经网络的萌芽 一切始于简单的感知机模型,这一概念在20世纪50年代末提出,标志着人工神经网络的雏形。尽管原始,但它奠定了神经元模型的基础——接收输入、加权求和并通过激活函数产生输

深入解析Transformer:大模型核心技术揭秘

在大模型发展历程中,有两个比较重要点:第一,Transformer 架构。它是模型的底座,但 Transformer 不等于大模型,但大模型的架构可以基于 Transformer;第二,GPT。严格意义上讲,GPT 可能不算是一个模型,更像是一种预训练范式,它本身模型架构是基于 Transformer,但 GPT 引入了“预测下一个词”的任务,即不断通过前文内容预测下一个词。之后,在大量的数据上进