1
推荐
1719
阅读
【算法趣题】Q17 挑战30人31足
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述30个人排成一行,每个人的两条腿分别和相邻的人绑在一起,只有左右最边上的两个人才有单独的左腿或右腿,29个双足加2个单足,这就是“30人31 足的”来由。多个女生连续排列,体力上会处于劣势,...
1
推荐
1886
阅读
【算法趣题】Q16 3根绳子折成四边形
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述假设分别3根长度相同的绳子摆成3个四边形。其中2根摆成长方形,剩下1根摆成正方形。这时,会出现2个长方形的面积之和等于正方形面积的情况(假设长方形和正方形的各边长都是整数)。例】 绳子...
0
推荐
1657
阅读
【算法趣题】Q15 走楼梯
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述A上楼梯时,B从同一楼梯往下走。每次不一定只走1级,最多可以一次跳过3级(即直接前进4级)。但无论走多级级,1次移动所需时间不变。两人同时开始走,求共有多少种“两人最终同时停在同一级”的...
2
推荐
2224
阅读
【算法趣题】Q14 世界杯参赛国的国名接龙
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述FIFA世界杯对足球爱好者而言是四年一次的盛事。下面我们拿2014年世界杯参赛国的国名做个词语接龙游戏。不过,这里用的不是中文,而是英文字母(忽略大小写)。下表是2014年FIFA世界杯的32个参...
2
推荐
2690
阅读
【算法趣题】Q13 有多少种满足字母算式的解法
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述字母算式,就是用字母表示的算式,其规则是:相同字母对应相同数字,不同字母对应不同数字,并且第一位字母对应的数字不能是0.例如,给定算式We × love = CodeIQ,如果对应字母与数字的关系如...
0
推荐
1752
阅读
【算法趣题】Q12 平方根数字
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述平方根,又叫二次方根,表示为〔±√ ̄〕,其中属于非负数的平方根称之为算术平方根(arithmetic square root)。一个正数有两个实平方根,它们互为相反数;0只有一个平方根,就是0本身;负数有...
1
推荐
1944
阅读
【算法趣题】Q11 斐波那契数列
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述斐波那契数列:又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在...
0
推荐
2551
阅读
【算法趣题】Q10 轮盘的最大值
前言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述轮盘是机轮盘赌博会或者运气的游戏,几乎没有人可以操控赔率。不论您如何下注,赢得赌注的几率都是相对一定的,这是您无法改变的。轮盘一般分两种:美式和欧式。美式有零位和双零位,而欧式则...
5
推荐
2334
阅读
【算法趣题】Q09 落单的男女
前言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述公司在情人节的晚上为单身员工举办活动,参与活动的员工根据到达会场的顺序排成一排等待入场。而活动的主办人员,想把员工从队列的某个位置分成两组,想要让分开的两组里每一组的男女人数都均...
3
推荐
1795
阅读
【算法趣题】Q08 优秀的扫地机器人
引言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述现在有很多制造商都在卖扫地机器人,可是这些机器人有时候会反复清扫某一个地方。假设有一款机器人不会反复清扫同一个地方,它只能前后左右移动。举个例子,如果第1次向后移动,那么连续移动3...
0
推荐
1571
阅读
【算法趣题】Q07 日期的二进制转换
前言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述把年月日表示为YYYYMMDD这样的8位整数,然后把这个整数转换成二进制数并且逆序排列,再把得到的二进制转换成十进制数,求与原日期一致的日期。求得的日期要在上一次东京奥运会(1964年10月10日...
1
推荐
1632
阅读
【算法趣题】Q06(改版)考拉慈猜想
前言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。考拉慈猜想对自然数n循环执行如下操作。 n是偶数时,用n除以2n是奇数时,用n乘以3后加1 如此循环操作的话,无论初始值是什么数字,最终都会得到1(会进入1-->4-->2-->1这个循环)。...
3
推荐
1830
阅读
【算法趣题】Q05 还在用现金支付吗?——>店铺红包免费购物
前言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述书中的例子是以安置在公交上的零钱兑换机为背景,详细可看P019。这里,我换一种场景来描述。假如我在天猫某个店铺里抽到了一张1000元的店铺红包,该红包只能购买4种商品,这四种商品的价格分别...
3
推荐
2188
阅读
【算法趣题】Q04 切分木棒
前言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述假设要把长度为n厘米的木棒切分为1厘米长的小段,但是1根木棒只能由1人切分,当木棒被切分为3段后,可以同时由3个人分别切分木棒。 求最多有m个人时,最少要切分几次。(譬如n=9,m=3时如下图...
2
推荐
1855
阅读
【算法趣题】 Q03 翻牌
前言【算法趣题】是来自图灵程序设计丛书绝云译的《程序员的算法趣题》,书中是用Ruby实现的。这里是用python来实现。问题描述有100张写着数字1~100的牌,并按顺序排列着。最开始所有牌都是背面朝上放置。我现在从第2张牌开始,隔一张牌翻牌。然后第2,4,6,...,100张牌就会变成正面朝上。接下来,你从第3张牌开始,隔...