Featured image of post 每天都是 π 节,何必是今天

每天都是 π 节,何必是今天

每天都是 π 节

我没法平静下来,我说需要时间,虽然你不理解。所以我翻看了社交网络,今天是 $\pi$ 节,对了,作为一个无理数,这是极好的随机数来源。理论上随着圆周率的不断精确,我能够找到所有日期的组合,这一定很有趣。所以说每天都是 $\pi$ 节!

使用库内数据

首先我们需要获取到足够多的π的位数,这个数量会很大,最初我打算生成1万位。首先当然使用的是 python 了,我打算输出数学库中的数值,但是事实没有这么简单。

1
π = 3.141592653589793

貌似只能输出较少的位数?于是查阅了相关资料发现,原来需要转换成整形才能输出较多的数字,小问题!参考文章

1
2
3
4
5
6
Traceback (most recent call last):
  File "/Users/misaka/Code/xcpc_code/Everyday-is-PI-Day/pi.py", line 12, in <module>
    get_pi_value(10000)
  File "/Users/misaka/Code/xcpc_code/Everyday-is-PI-Day/pi.py", line 5, in get_pi_value
    num = math.pow(10,x)
OverflowError: math range error

哎呀,出错了!大概看了一下就是范围太大了?但是这也是不切实际的,这完全取决于库中存储的位数,或许使用一下高精度库会好一点?最后还是寻找了其他方法。

Chudnovsky

参考资料

圆周率计算最快的还是基于拉马努金的丘得诺夫斯基公式,具体可以查看上面的博客,计算速度非常快。我生成了前 $10000$ 位然后开始查找日期序列出现的位置。

最简单的当然是使用字符串查找了,但是算法竞赛出身的,还是会考虑效率问题,其实后面发现位数需要到 $100000$ 其实提升还是很大的。所以直接遍历字符串,对连续的三位和四位数字进行字典更新就可以做到最快匹配了。

White Album 2 B Side

为什么需要时间平静呢,所以我为什么执着于宣称不要关注所谓的圆周率节呢?因为这一天是白色情人节,在日本校园动漫中,白色情人节女方做出回应的桥段并不少见。所以,你好,这里是B面,来的很快很突然。

我的朋友尝试了一段时间,但是很明显感觉得出关系中间的墙壁。只想维持在朋友的一道墙壁,这种疏远感,无法忍受,于是也是在这一天,一切都坦白了,一切都放下了(也许)。

我现在并没有别的想法,颓了多久呢,Github的绿点消失了几天。当然生活还要继续,如果只有这件事情,我可能还会好一点。我面试了好多公司,发现实习也没法找到,我的计划应该是进入大厂实习,然后进入秋招,而现实是通过面试的公司迟迟不发offer,学校开始催;其他公司一面挂了很多,我也越发觉得自己这三年的颓废,自己的无知和弱小。我开始倾向读研了,我想再用三年,弥补一下。

既然是 π 节,为什么不是 APEX

我觉得 “pai” 节,可以定义为 APEX 的派节

御坂的某位室友

是的,我打了好几天游戏,在打击感中寻找重生。菜鸡如我,只能打上黄金四,开始有所阻碍。那么尾声来到了,我打开了潘多拉魔盒,我们是朋友了,不像之前带着顾虑交流了。至于有没有机会在一起就只能看缘分了,同理,我成功拿到了一张实习证明,也不需要等待offer了,那新的征程已经开始,我们需要赎罪了。

真正的大学生活重生了,由于疫情也好,由于自己的摆烂也好。买铃芽之旅的电影票,开始每周宿舍下馆子,开始好好学习专业知识准备考研,以及去听一次演唱会……

live

Licensed under CC BY-NC-SA 4.0
最后更新于 Nov 24, 2024
comments powered by Disqus
Built with Hugo
主题 StackJimmy 设计