21个挑战题

我时不时地会给我的朋友和同事一些难题。我把这些称为咖啡时间的挑战。题目被设计成很小的,但在短暂休息时要反复考虑的题目。

这些都是典型的不难的题目,并且通常都有多种解决方案。有时,人们用铅笔、纸和数学首要原则来解决这些问题。此外,人们也会通过写正则表达式、LINQ、Perl或Python脚本来解决。解决方式有时优雅,有时用蛮力,这里并没有所谓正确或错误的方法,只要得到的是一个正确的答案。

我尽量选择不涉及聪明“陷阱”或“技巧”的难题。这类型的题目对于那些知晓其中秘密的人而言是微不足道的,同时再学习其中的技巧时,也给人留下失望的感觉。选择的这些难题都是可自描述的,不需要外界知识就能完成。

一个好的咖啡时间的挑战是,你需要去找的东西是立即可以理解的,而你面临的挑战是如何找到这个答案。

其中有些题目是我自己想出来的,但许多都不是,大部分是我从自己看到的一些想法中受到启发或复制而来的。这些题目在我的朋友和同事间颇为流行,因此,我想在我的博客上分享一些。

以下是精选的我最近的咖啡时间的挑战。对于其中的一些题目,我提供了提示,同时,所有题目我都给出了解决方案。我提供了解决方案,因此如果你试图重新解决,你就可以来验证答案,不过我没有提供任何代码。解决这些难题的乐趣就在于写代码,而不是答案。这些乐趣不是来自得到了正确的答案,而是来自你能够写代码或脚本来得到正确的答案。我并不是说这些都是很好的编程面试题,但我会说,如果你不能写代码来解决类似下面的那些难题,你应该认真考虑转行了:)

顺便说一句,你知道你一生花了多少钱在咖啡上吗?

1) 两基数

挑战:找到三个数X、Y、Z,使以10为基数的XYZ,等于以9为基数的ZYX。

下方是提示:(文字颜色为白色,选中下一行即可查看)

有更优雅的方式来解决这个问题,但解决方案集如此小,你可能也只有用暴力破解了。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

44510 = 5449  =>> X = 4, Y = 4, Z = 5

2) 一百万

挑战:将 1,000,000 写成两个数的乘积,两个数都不包含零。

下方是提示:(文字颜色为白色,选中下一行即可查看)

主要因素有哪些?确保数字5和2不是分开在两个数中。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

15625, 64

3) 最大的数

挑战:用数字0-9 (共10个数字)来创建两个数字。当这两个数相乘时,能得到的最大结果是多少?

下方是提示:(文字颜色为白色,选中下一行即可查看)

更大的数字放在前面

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

875310 × 9642 = 8,439,739,020 或 87531 × 96420 = 8,439,739,020

4) 恰好1/3

挑战:将数字 1-9 排列成一个值,恰好等于1/3的简分数。没有其他数学符号,只是连接部分一些数字做分子,一些数字做分母。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

5823 / 17469 或 5832 / 17496

5) 三个骰子

挑战:摇三个骰子,将得到的三个数相乘。结果是奇数的概率是多少?

下方是提示:(文字颜色为白色,选中下一行即可查看)

你应该能够不需要电脑做到这个!为了得到一个奇数的乘积结果,三个骰子都要摇出奇数。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

1/8

6) Word文档

挑战:我打开一个Word文档,然后输入1-10000 的所有数字,用空格分隔(我没有使用任何“数千”标点符号,只是原始数据)。然后,我女儿过来使用搜索和替换,并将所有数字“0”替换为空格。如果我现在计算文档中所有数字的总和,那会是多少?(任何被一个或多个空格分隔的数都是一个独特的数)

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

37,359,001

7) 腿

挑战:一个房间里混杂有人和狗。里面有72个头 ,200条腿。有多少只狗在这个房间里?(没有诡计,没有染色体异常,没有残疾……)

下方是提示:(文字颜色为白色,选中下一行即可查看)

这是一个简单的代数问题。如果你需要编写代码来解决这个问题,请停止阅读。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

28只狗

8) 一,二,三

挑战:只使用一个1,一个2和一个3(没有拼接的数字)及任何组合你想要的数学符号(加、减、乘、除、括号、指数、阶乘、平方根……)。写出一个方程,使其结果为19。

下方是提示:(文字颜色为白色,选中下一行即可查看)

你要么得到这个方程,要么不行。答案需要使用两次阶乘、一次平方根、一次除法和一次加法。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

19=[((3!)!/2) + 1]^(1/2)

9) 一,七

挑战:如上题,如何只使用一个1和一个7使方程式结果为71?(同样,没有拼接的数字,或者说这样是微不足道的!)

下方是提示:(文字颜色为白色,选中下一行即可查看)

你要么得到这个方程,要么不行。答案需要使用一次阶乘、一次平方根和一次加法。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

71=(7!+1)^(1/2)

10) 桶

挑战:将数字1-13分别放入三个桶中,满足任何桶中任意两个数的差与这两个数不在同一个桶中。(例如,如果将数字5和7放入一个桶中,那么不能将数字2放入同一个桶中)

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

[[2, 3, 7, 11, 12], [5, 6, 8, 9], [1, 4, 10, 13]] 或 [[2, 3, 11, 12], [5, 6, 7, 8, 9], [1, 4, 10, 13]]

11) 积与和

挑战:写下1到65,502以内的所有整数。从中选择两个数字,将其相乘得到一个乘积。划掉这两个数字,将余下的65,500个数字进行求和,得到的结果与乘积相同。应该选择哪两个数字?

下方是提示:(文字颜色为白色,选中下一行即可查看)

三角形数的公式是什么?

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

46,465 和 46,168

12) 相邻的平方数

挑战:排列整数1-17(包含17),使得相邻的两个数之和是一个完美的平方数。如14, 2, 7 …(第一个数和最后一个数没有形成环)

下方是提示:(文字颜色为白色,选中下一行即可查看)

可以多次使用一个平方数,并且这不会有太多可供选择的。遵循任何其他数字的可能数字的数量非常有限。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

16 9 7 2 14 11 5 4 12 13 3 6 10 15 1 8 17

13) 有多少

挑战:ABCDEFGHIJ是一个10位数字的号码。所有的数字都是不同的。如果11111能整除这个10位数,存在多少个这样可能的数ABCDEFGHIJ?

下方是提示:(文字颜色为白色,选中下一行即可查看)

考虑主要因素还是暴力解决?如果使用暴力解决,如何减少需要检查的号码?

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

3456

14)倒数

挑战:寻找6个不同的整数:A, B, C, D, E, F。这6个数的倒数之和正好等于1。如: 1/A + 1/B + … 1/F = 1
下方是提示:(文字颜色为白色,选中下一行即可查看)

有很多可能的答案,你需要的就是其中之一。

下方是解决方案:(文字颜色为白色,选中下方区域即可查看)

1/2 + 1/4 + 1/6 + 1/18 + 1/60 + 1/90 = 1
1/2 + 1/4 + 1/6 + 1/18 + 1/63 + 1/84 = 1
1/2 + 1/4 + 1/6 + 1/19 + 1/57 + 1/76 = 1
1/2 + 1/4 + 1/6 + 1/20 + 1/45 + 1/90 = 1
1/2 + 1/4 + 1/6 + 1/20 + 1/48 + 1/80 = 1
1/2 + 1/4 + 1/6 + 1/20 + 1/50 + 1/75 = 1
1/2 + 1/4 + 1/6 + 1/20 + 1/55 + 1/66 = 1
1/2 + 1/4 + 1/6 + 1/21 + 1/42 + 1/84 = 1
1/2 + 1/4 + 1/6 + 1/21 + 1/44 + 1/77 = 1
1/2 + 1/4 + 1/6 + 1/22 + 1/36 + 1/99 = 1
1/2 + 1/4 + 1/6 + 1/22 + 1/44 + 1/66 = 1
1/2 + 1/4 + 1/6 + 1/24 + 1/32 + 1/96 = 1
1/2 + 1/4 + 1/6 + 1/24 + 1/33 + 1/88 = 1
1/2 + 1/4 + 1/6 + 1/24 + 1/36 + 1/72 = 1
1/2 + 1/4 + 1/6 + 1/24 + 1/40 + 1/60 = 1
1/2 + 1/4 + 1/6 + 1/24 + 1/42 + 1/56 = 1
1/2 + 1/4 + 1/6 + 1/25 + 1/30 + 1/100 = 1

15) 有趣的风扇

挑战:你正在帮一个出门度假的朋友看守房子。在一个房间里,你拉一个风扇的链条,当它没有响应时,你意识到这个房子暂时没有电。不幸的是,你现在要离开好几天。你知道在你拉链条之前,风扇处于“关”的档位,连续地拉链条会使风扇循环的通过剩余的设置档位(“关”、“高”、“中”等)。你不知道这里有多少个设置档位,但你能确定不会超过四个。如何能确保在电力恢复时,电扇处于“关”的档位?

下方是提示:(文字颜色为白色,选中下一行即可查看)

最小公倍数对你而言意味着什么呢?

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

不管这里的电扇速度设置是否是两个、三个或四个,如果你拉12次的链条,电扇会返回到“关”的档位。因此,拉电扇的链条11次以上。

16) LED时钟

挑战:你在一个完全黑暗的房间里。房间里唯一的光线来自一个旧的LED数字闹钟(屏幕显示为四个七段)。时钟显示为HH:MM(没有秒)。时钟被设置为以24小时制格式显示时间,并且如果不使用,前导数字为空。从房间最暗到最亮,这期间有多少时间?

下方是提示:(文字颜色为白色,选中下一行即可查看)

什么时候显示亮的数字最多?什么时候最少?

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

18小时57分钟(1:11 – 20:08)

17) 使用所有数字

挑战:寻找一个五位数,其中所有的数字都不相同且不为零。使得这个五位数等于这五个数字的所有三位数组合之和。即ABCDE等于ABC + ABD + ABE + BCA + CBA + BDA + DBA + … 等。

下方是提示:(文字颜色为白色,选中下一行即可查看)

每个数字出现在每个位置的频率是多少?

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

35964

18) 使用计算器按钮

挑战:我的女儿刚把橙汁泼在我的科学计算器上。数字键0-9和基本运算键+ – * /都卡住了(不工作)。幸运的是,所有的科学运算键(三角函数、幂、倒数、指数、对数、根、阶乘……)都能使用。当前屏幕显示为“0”。如何使用按键,使屏幕显示“1”,然后按下按钮,将显示转换为“2”,最后显示“3”?

下方是提示:(文字颜色为白色,选中下一行即可查看)

你可能发现通过简单的尝试这很容易。这有多种解决方案。你还记得你的基本触发点吗?

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

要获得“1”,只需按Cos键
要获得“2”,按Tan-1键,然后按Sin键,然后按1/X键,最后按X^2键
要获得“3”,按1/X键,然后按Sin-1键,然后按Tan键,然后按1/X键,最后按X^2键

19) 使用多个数字2

挑战:使用多个数字,有的容易,有的难。从中加入数学符号(阶乘、加、减、除、乘、平方根、三角函数、对数、小数点、指数……)来获得所要的结果。允许将数字拼接在一起。
1] 使用三个2获得结果11
2] 使用三个2获得结果1
3] 使用两个2获得结果10
4] 使用两个2获得结果5

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

[1] 22/2 [2] 2^(2-2) [3] 2 / .2 [4] [( .2)^(-2)]^(1/2)

20) 填池

挑战:如果使用红色软管将水填满游泳池,这需要8个半小时。如果同时使用红色软管和蓝色软管来将水填满游泳池,只需要5小时15分钟。如果只使用蓝色软管,需要多长时间能将水填满游泳池?
(所有常识简化应用:流速恒定,不要试图使用物理来让它变得复杂!)

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

357/26小时(约13小时44分钟)

21) 开始和结束

挑战:寻找一个最佳的以6结尾的自然数,如果将该数结尾的6去掉并放在剩余数的最前面,使得到的新数字是原数字的4倍大。

下方是解决方案:(文字颜色为白色,选中下一行即可查看)

153846

来自为知笔记(Wiz)

时间: 2024-10-07 07:58:31

21个挑战题的相关文章

21个挑战题,几杯咖啡的时间,来试试

题目 挑战:将数字1-13分别放入三个桶中,满足任何桶中任意两个数的差与这两个数不在同一个桶中. (例如,如果将数字5和7放入一个桶中,那么不能将数字2放入同一个桶中) 下方是解决方案:(文字颜色为白色,选中下一行即可查看) [[2, 3, 7, 11, 12], [5, 6, 8, 9], [1, 4, 10, 13]] 或 [[2, 3, 11, 12], [5, 6, 7, 8, 9], [1, 4, 10, 13]] 同学很早以前问的一个题,做了之后就忘了告诉人家.近几天突然想起来,就扒

挑战题之排列生成

挑战题之排列生成 Time Limit:   2000MS       Memory Limit:   65535KB Submissions:   435       Accepted:   170 Description 一自然数N,设N为3,则关于N的字典序排列为123,132,213,231,312,321.对于一个自然数N(1<= N <= 9 ) , 你要做的便是生成它的字典序排列. Input 第一行为自然数N. Output 输出对应于N的字典序排列,每个排列占一行. Samp

TZOJ 挑战题库随机训练03

点击题号跳转 A3763 B1360 C3646 D1231 E3035 F3635 G3686 H5310 I2920 J1223 A.Unique Encryption Keys回到顶部 题意 m([1,10^6])个数a[i]([0,2^30]),q([0,10^6])次询问,每次询问区间[L,R]是否存在相同的数字 题解 思考一个问题,令pre[i]为值为i的前一个数字的位置 询问区间[L,R]相当于区间内的所有数,pre[a[i]]都在外面即pre[a[i]]<l则合法OK 转化一下,

Wannafly挑战赛21 C 大水题

题目描述 现在给你N个正整数ai,每个数给出一"好数程度" gi(数值相同但位置不同的数之间可能有不同的好数程度).对于在 i 位置的数,如果有一在j位置的数满足 j < i 且 ai=aj,则你可以将位于[i,j]闭区间内的序列评为"好序列",然后获得∑gk(j≤k≤i)(此闭区间内"好数程度"之和)分数. 注意: 在所有情况下,每个数都只能被一个"好序列"包含(只能与其他相应数被评为"好序列"一次

Javascript编程挑战题(1)

编写"改变颜色","改变高度","隐藏内容","显示内容","取消设置"的函数,点击相应的按钮执行相应的操作,点击取消设置后,提示是否取消设置,如果执操作,否则不做操作. 1.改变颜色函数:obj.style.color     obj.style.backgroundColor 2.改变高度函数: obj.style.width    obj.style.height; 3.定义隐藏内容的函数:obj.s

Code Signal_10分钟挑战题_constructArray

完成时间3分06秒 Given an integer size, return an array containing each integer from 1 to size in the following order: 1, size, 2, size - 1, 3, size - 2, 4, ... Example For size = 7, the output should beconstructArray(size) = [1, 7, 2, 6, 3, 5, 4]. 我的解答: de

2019.1.21每日一题

Description 求 1-n 1\sim n 1-n 之间素数个数. 输入格式 一行一个数 n n n . 输出格式 一行一个数,表示答案. 样例 样例输入 10 样例输出 4 样例解释 1 2,3,5,72,3,5,72,3,5,7 #include<stdio.h>int sum(int n);int main(){    int i,a;    int result=0;    scanf("%d",&a);    for(i=2;i<=a;i++

3.21 每日一题题解

小K的疑惑 题目链接:https://ac.nowcoder.com/acm/problem/20823 涉及知识点: 思维/搜索/简单图论 solution: 题目要求??????(??,??) = ??????(??,??) = ??????(??,??) ,首先要满足每两个节点的距离都是偶数,即??????(??,??) = ??????(??,??) = ??????(??,??) = 0 由于树上任意两点的距离是唯一的,所以如果i到j的距离是奇数,j到k的距离是奇数,那么i到k的距离一

iOS 第五期考核题

1 /** 2 * 第1题 请将如下数据存储成字典,并将字典内容以字符串形式输出,输出:"XXX,年龄XXX岁,职业XXX"(将XXX替换为相应的数据). 3 */ 4 5 NSString *name = @"王重阳"; 6 NSInteger age = 56; 7 NSString *job = @"道长"; 8 9 10 NSDictionary *[email protected]{@"name":name, 11