最近小李在看吴军博士的《浪潮之巅》一书,下册书中讲到了Google公司的发展故事,作者用了其14个不为人知或被公众忽略的侧面来描述这个传奇的公司。而在对Google公司的介绍中,一张插图引起了我的注意,这张插图是Google在101号高速公路旁打的大幅招聘广告。

这15年前的招聘广告竟如此有创意,现在火热得不可开交的表情包等结合高等数学令人耳目一新的创意来源可能就是来源于此吧~

真是江山代有人才出,一个更比一个溜啊!

好了言归正传,今天不聊高数题的求解,来聊聊谷歌这道算法题。题意非常明确,找到自然底数e的第一个出现的十位连续数字构成的质数。而找到该质数,加上 .com 就可以进到谷歌的招聘网站。

那么如何做呢?首先我们需要求解得到e的较为准确的值,根据e的指数函数的泰勒展开(Sorry,还是用到了高等数学的知识),我们可以通过该式取x等于1,从而计算得到e的值,并且n取约大,这个值就越准确。

这里需要用到阶乘的计算,通过简单的递归,设置递归出口便可以实现。

def factorial(x):if x==1:return 1else:return x*factorial(x-1)

但是问题又出现了,int 和 float的精度都不够,在此小李也投个机取个巧,可以使用 Decimal 库来进行高精度数据的计算。

Decimal 完美利用了 “通过借助整数来表示小数的方式”解决了浮点数不精确的问题,提供十进制数据类型,并且存储为十进制数序列。下面这个函数根据泰勒展开式得到了较为精确的e的值。

def get_e(n):decimal.getcontext().prec=10000e=decimal.Decimal('1.0')for i in range(1,n):e =1/decimal.Decimal(factorial(i))print(e)   return str(e)

得到了这个e要找质数之后,我们还需要完成一个用来判断质数的函数,这个就非常容易了,其中用了条件 i*i<=x 来减少了求质数的时间复杂度。

def prime(x):if x<=1:return Falsei=2while i*i<=x:if x%i==0:return Falsei =1return True

有了上述的基本准备之后,我们就可以从e的小数点的第一位开始遍历,每次都取十位进行质数的判断,在发现第一个质数之后便退出循环。

def find(n):   e=get_e(n)for i in range(2,len(e)-9):number=e[i:i 10]if prime(int(number)):print(number)break

由此我们运行该程序便可以得到答案 7427466391 ,搓搓小手,激动地在浏览器中输入该网址,

但是很遗憾,其结果如下面的熊猫头所说,

15年前,一则公路旁的Google的招聘广告相关推荐

  1. Google招聘广告短片的启示

    4月3日 一直知道Google招聘广告,但是由于在中国Google 电影 (video.google.com) 是不能上去的,所以一直没有机会看看. 今天我才有机会看来这个Google的这个招聘广告, ...

  2. 以史为鉴,来看看15年前我们是如何看待Web2.0的

    这不是我们一次探讨互联网的本质,显然也不会是最后一次 星球日报编者按:今天,互联网世界正在沉浸式热烈探讨Web 3.0,探讨商业模式.组织形态的创新,探讨风险投资的范式转移,探讨新一代开放互联网的形态 ...

  3. 小学学校计算机里的单机游戏,15年前的农村小网吧,那个时候只能玩这些单机游戏...

    在15年前,一些比较富有的乡镇也渐渐开始诞生网吧,这让很多乡下年轻人,更方便上网,方便玩游戏了,但是一些小屯子,网络并不是很发达,甚至连网线端口都没有,电脑设备也非常落后,那个时候只能玩一些小型单机游 ...

  4. 15年前陪你一起看《泰坦尼克号》的人在哪里?

    [导读]3D<泰坦尼克号>的上映,也勾起了大家对观看老版<泰坦尼克号>时情景的回忆.最近,一则"15年前陪你一起看<泰坦尼克号>的人现在在哪里?" ...

  5. 用老版计算机弹音乐少年,15年前,这部电影用音乐,拯救了一个迷失少年!

    今天给大家推荐一部教育片,<放牛班的春天>,喜欢法国电影的这种含蓄而温柔的表达.于我而言,这不仅仅是一部有关教育的影片,更是一部诉说美好心灵与善良温柔的电影.这是一部上映于2004年的法国 ...

  6. Google的招聘问题

    那是Google! 全世界都知道的名词!虚拟世界里最真实的童话! Google位于美国加州的总部,豪华得像神话中才会出现的仙女岩洞---门户玄关上,挂着几百盏迷幻熔岩灯:健身球与M&M'S巧克 ...

  7. 九度OJ 1525 子串逆序打印 -- 2012年Google校园招聘笔试题目

    题目地址:http://ac.jobdu.com/problem.php?pid=1525 题目描述: 小明手中有很多字符串卡片,每个字符串中都包含有多个连续的空格,而且这些卡片在印刷的过程中将字符串 ...

  8. 24年前华为招聘广告是什么样的?

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 2020年提到华为,大部分都应该知道这是一家全球领先的科技企业,年营收超过8500亿 ...

  9. 如何把 Google adsense 的广告放到博客的Banner位置

    今天申请了一个 Google adsense 的广告放到我的博客上,发现放到公告的侧栏很影响整体的感觉,想放到上头那个Banner的位置.要放到那个位置就只能用 css 来弄了.写个固定位置的层估计一 ...

最新文章

  1. uglifyjs压缩JS
  2. 能玩游戏的计算机名字,没有手机和电脑时,孩子们最喜欢的游戏,简单却能玩上一整天!...
  3. UI设计师缺乏灵感,看看这些可以临摹的网站架构!
  4. 小技巧 ----- Java中指定保留几位小数
  5. python save保存图片到本地_python爬取网站上的图片并保存到本地
  6. Gibbs 采样完整解析与理解
  7. DB2sql关键字——ALTER TABLE ....ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
  8. 大话量子通信丨赠书名单公示
  9. 从Shutterstock下载无水印图片
  10. ps 钢笔工具做部分透明图片
  11. 2019 中兴秋招笔试题1
  12. 《Flutter入门疑难杂症》ios deactivate没反应的解决方案
  13. 【小程序源码】云开发表情包制作神器微信小程序源码下载,支持各种自定义
  14. 时空恋旅人 豆瓣影评
  15. Linux搭建泰拉瑞亚(原版/模组/插件)服务器之1.3模组服务器
  16. oracle全角改半角,Oracle全角数字转换半角数字
  17. Android 6.0新特性[zz]
  18. Arduino使用HC05蓝牙模块与手机连接
  19. 10种绝对不能娶的IT女孩
  20. 嵌入式系统学习---------2.嵌入式系统设计过程

热门文章

  1. 浙江省杭州职称评审申报时间
  2. Android Studio clean 时产生 Error:Execution failed for task ':app:mockableAndroidJar' java.lang.NullP
  3. 利用 Travis CI 把 Android 项目部署到 github
  4. SAP系统中信用控制功能详解
  5. java方法的重载和方法的重写的区别
  6. SOJ 4590 简单模拟
  7. 桌游玩的好也能发NeurIPS!当深度学习撞上阿瓦隆!
  8. C_教程_MATLAB远程桌面无法使用的问题
  9. 每日诗词 【登徒子好色赋并序】
  10. 一季度,亏损超7亿!阿里的“亲儿子”百世物流怎么了?