查看圆周率 Pi值 Pi的前百位 Pi的前百万位

Posted xiaofeng_37

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看圆周率 Pi值 Pi的前百位 Pi的前百万位相关的知识,希望对你有一定的参考价值。

早上忽然看到PI的热搜,就想着看看PI的前一百位甚至更多位是多少,用spark-sql、presto和doris的pi()函数尝试了下,都只给出十几位,使用hadoop提供的example.jar能算但过于浪费算力,精确度也不会特别高,所以还是决定去网上白嫖已有的计算结果。

文章目录


提示:以下是本篇文章正文内容,下面案例可供参考

一、PI百万位在线查看网址

Pi前百万位

二、使用dos/shell取出数值

1. dos(Windows)

Win+R打开cmd,然后输入一下指令

# 数据一共20页 前19页均为5万多个
curl "https://www.piday.org/wp-json/millionpi/v1/million?action=example_ajax_request&page=1"

2. shell(Linux)

基本命令同上,不过可以使用其提供的其他指令实现其他功能

# 1. 预览
# 实测过程中,uri两侧必须使用单引号货双引号(双引号更佳)
# -s用于过滤链接信息
# -w '\\n'用于在响应末尾追加换行
curl -s -w '\\n' "https://www.piday.org/wp-json/millionpi/v1/million?action=example_ajax_request&page=1"

# 2. 统计每页数据量
# 输出首位有" 使用sed去除
$ curl -s "https://www.piday.org/wp-json/millionpi/v1/million?action=example_ajax_request&page=1" | sed 's/\\"//g'  | wc
      0       1   51199
$ curl -s "https://www.piday.org/wp-json/millionpi/v1/million?action=example_ajax_request&page=2" | sed 's/\\"//g'  | wc
      0       1   51199
$ curl -s "https://www.piday.org/wp-json/millionpi/v1/million?action=example_ajax_request&page=20" | sed 's/\\"//g'  | wc
      0       1   27221

# 3. 将20页数据写入一个文件
# 使用遍历实现,同上面的字符统计,不要使用-w '\\n'
for i in `seq 20`; do 
    curl -s "https://www.piday.org/wp-json/millionpi/v1/million?action=example_ajax_request&page=$i" | sed 's/\\"//g' >>pi.data
done
$ wc pi.data
      0       1 1000002 pi.data
# 0行是因为末尾没有换行 不习惯可以手动追加一个
echo >> pi.data
$ wc pi.data
      1       1 1000003 pi.data

回到今天的热搜 看能不能找到自己的生日

# 自己的生日自己说了算 永远十八 ~
# pi.data为0行,因为行尾没有换行符,所有一定要使用-o将匹配到的数据直接提取出来,不然如果匹配到还是会输出整个文件
$ egrep -o 2006 pi.data | head -3
2006
2006
2006
# 匹配数量统计
$ egrep -o 2006 pi.data | wc -l
93

以上是关于查看圆周率 Pi值 Pi的前百位 Pi的前百万位的主要内容,如果未能解决你的问题,请参考以下文章

圆周率pi和弧度中的pi含义一样吗

PI()

圆周率$pi$的近似计算

下面的公式可以用来计算圆周率PI的近似值: PI/8=1/(1*3)+1/(5*7)+1/(9*11)+…… 请编程序计算公式的

用python计算圆周率PI

长 PI