JetBrains Quest 到底是什么?

发布于 JetBrains_CN

JetBrains 有很多开发人员,其中很多人都喜欢玩游戏 – 具有挑战性的游戏。

 我们提出了创建寻宝游戏的想法:每个谜题的解决方案都是下一个谜题的提示。我们将所有的谜题彩蛋隐藏于 JetBrains 的各种地方。

经过长时间的集思广益,JetBrains Quest 诞生了。

JetBrains Quest 是一系列谜题,遍布所有不同的 JetBrains 页面和产品。游戏包含 3 个任务,每个任务有 4 – 6 个谜题可解决。第一个任务相对容易,使人们有机会弄清楚要期望什么。随着前进,难度也增加了。

Quest 于 3 月 9 日在我们的社交媒体(TwitterFacebook 、 Linkedin 还有微博)上发布了一条帖子,并于 3 月 15 日欧洲中部时间结束。

至此,所有谜题都已移除。

社区的反应实在太棒了!

 

有人绞尽脑汁。

大家开始要求更多。

根据评论,似乎最难解决的谜题是斐波那契(Fibonacci)练习。这个谜题隐藏在特定版本的 IntelliJ IDEA Community 的“每日技巧”中。

您已找到我们的 JetBrains Quest!

 

如果您不知道这是什么,则应从头开始
就是这个。

 

最后一个谜题。

 

现在,您只需要密码即可解锁 Quest 页面。
密码是斐波那契数列第 50 * 10 ^ 6 数的前 4 位数字和后 4 位数字(F(5000万))。
如您现在所知:金玉其外,敗絮其中。要解决这个难题,您不应该直接寻求显而易见的答案。

 

愿您做出光荣的选择。这是整个任务的最后一个谜题。

如果您尝试使用线性方法来解决问题,则将需要数小时甚至数天才能得到答案。

解决这个谜题有两种主要方法。

最简单的方法是使用 Wolfram|Alpha 来获取四位数字。

第二种方法比较困难,但是它有一个好处:更大的成就感!有一些算法可以使计算斐波那契数列的速度更快。我们希望您实施这些选项之一。

下面是一个示例:

import math def last_fib_digits(fib_number, last_digits): prev, cur = 0, 1 q = 10 ** last_digits while fib_number > 0: prev, cur = cur, prev + cur fib_number -= 1 cur %= q return prev def first_fib_digits(fib_number): phi = (math.pow(5.0, 0.5) + 1) / 2 logF = fib_number * math.log10(phi) – 0.5 * math.log10(5.0) return math.pow(10.0, logF – int(logF)) print(last_fib_digits(50000000, 4)) print(first_fib_digits(50000000))

前 4 位数字:4602
后 4 位数字:3125

对于那些未能完成 Quest 的人,您可以在此处查看所有谜题及其解决方案。

我们要感谢参加我们的 JetBrains Quest 的所有人。在下面留下评论,让我们知道哪个谜题是您的最爱。

感谢您的加入!  愿您一生都有冒险!
– JetBrains Quest 团队