算法
岳山
后知厚觉
展开
-
1000瓶酒与老鼠的问题
题目1 判断一个数是否为2的整数次幂: if ((checkNUM & (checkNUM-1)) == 0){ printf("是2的整数次幂/n"); } 这种解法充分利用2进制的特性来解题。题目2 现有1000瓶酒,其中有一瓶是有毒的,现有老鼠无限,一只老鼠只要喝了有毒的酒,7天后就回死亡,现需要你在7天内将有毒的酒找出来,共需要花多少只老鼠品酒。转载 2009-09-08 20:55:00 · 2064 阅读 · 1 评论 -
关于素数
定义:素数是大于1的整数数,它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整数的乘积。 孪生素数:就是差为2的素数对,例如11和13。是否存在无穷多的孪生素数,还没有证明。 早在公元前300年,希腊数学家欧几里得就已证明过,不论你取的数是多大,肯定还会有比它大的素数。对于前任意多个素数,如果算出了它们的乘积后再加上1,所得的数或者是一个素数,或者是比所列出的素数还要大的几转载 2009-09-08 21:01:00 · 1013 阅读 · 1 评论 -
飞机绕地球问题
每个飞机只有一个油箱,飞机之间可以相互加油(注意是相互,没有加油机),一箱油可以供一架飞机绕地球飞半圈。问:为了使至少一架飞机绕地球一圈回到起飞 时候的飞机场,至少需要出动多少架飞机?(注:所有飞机从同一机场起飞,而且必须安全返回机场,不允许中途降落,中间没有机场,返航飞机不可以再飞) 答案:5架 解答: 设飞机携油量为4a 则飞行1/8圈耗油量为a 机场处起飞3架 至1/8原创 2010-04-08 15:59:00 · 2341 阅读 · 1 评论 -
百度面试题之赛马
题目:有36匹马和一条6赛道的跑马场,没有计时器,请用最少的比赛轮次挑选出最快的3匹马。因为没有计时器,所以不同马之间都要比一比。不过,我们的任务是选出最快的3匹而不是排序,所以要尽量减少比赛轮次,那么:1、比过的马不用再比;2、已知跑得慢的马也不用再次参加了。有了上面这两条原则转载 2011-07-09 11:27:49 · 1209 阅读 · 0 评论 -
一致性Hash算法(转)
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 objec转载 2011-11-04 14:27:01 · 506 阅读 · 0 评论 -
RSA算法详解
数论,数学中的皇冠,最纯粹的数学。早在古希腊时代,人们就开始痴迷地研究数字,沉浸于这个几乎没有任何实用价值的思维游戏中。直到计算机诞生之后,几千年来的数论研究成果突然有了实际的应用,这个过程可以说是最为激动人心的数学话题之一。最近我在《程序员》杂志上连载了《跨越千年的 RSA 算法》,但受篇幅限制,只有一万字左右的内容。其实,从数论到 RSA 算法,里面的数学之美哪里是一万字能扯完的?在写作的过程转载 2013-01-23 23:31:04 · 16055 阅读 · 0 评论 -
稳定婚姻问题和Gale-Shapley算法
听了桌老板聊科技 第82期用理科思维观察恋爱,感受到理论的强大,兴奋地上网找资料,总结下相关知识和应用。最好的配对方案当然是,每个人的另一半正好都是自己的“第一选择”。这虽然很完美,但绝大多数情况下都不可能实现。比方说,男1号最喜欢的是女1号,而女1号的最爱不是男1号,这两个人的最佳选择就不可能被同时满足。如果好几个男孩儿最喜欢的都是同一个女孩儿,这几个男孩儿的首选也不会同时得到满足。当这种最转载 2017-04-13 23:34:08 · 1885 阅读 · 0 评论 -
37%法则
"拒人问题"的数学模型为了便于我们分析,让我们把生活中各种复杂纠纷的恋爱故事抽象成一个简单的数学过程。假设根据过去的经验,MM 可以确定出今后将会遇到的男生个数,比如说 15 个、30 个或者 50 个。不妨把男生的总人数设为 n。这 n 个男生将会以一个随机的顺序排着队依次前来表白。每次被表白后,MM 都只有两种选择:接受这个男生,结束这场“征婚游戏”,和他永远幸福地生活在一起;或者转载 2017-04-16 23:41:34 · 16727 阅读 · 1 评论