查看圆周率 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"

dos

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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值