题目名称 2172. 神秘的常数π-改正版
输入输出 RealPi.in/out
难度等级 ★★★★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 10
题目来源 Gravatarrvalue 于2016-03-05加入
开放分组 全部用户
提交状态
分类标签
FFT 高精度
分享题解
通过:0, 提交:125, 通过率:0%
Gravatarstdafx.h 60 20.634 s 307.39 MiB C++
Gravatar雾茗 60 21.729 s 0.25 MiB C++
Gravatar雾茗 60 21.922 s 32.28 MiB C++
Gravatarstdafx.h 60 22.259 s 0.25 MiB C++
Gravatar史莱克音洛 60 28.244 s 309.09 MiB C++
Gravatarzhengtn03 50 8.417 s 47.34 MiB C++
Gravatarx5b0 50 13.506 s 41.91 MiB C++
Gravatarzhengtn03 50 128.393 s 25.82 MiB C++
Gravatarrvalue 50 134.061 s 25.82 MiB C++
GravatarUbuntu 50 334.515 s 25.82 MiB C++
本题关联比赛
给LZL神犇刷分用,记得谢谢蒟蒻冰可乐w
关于 神秘的常数π-改正版 的近10条评论(全部评论)
3.14神题留名
GravatarAlbert S. Chang
2017-03-14 21:35 23楼
GravatarYGOI_真神名曰驴蛋蛋
2017-01-06 19:24 22楼
Gravatarstdafx.h
2016-07-20 17:10 21楼
回复 @Ubuntu :
怎么能弃坑呢
我已经重写3次了...
正在调
Gravatarstdafx.h
2016-07-19 12:17 20楼
回复 @stdafx.h :
隔壁1402可有人通过了...学长打算弃坑?
GravatarUbuntu
2016-07-14 14:42 19楼
神题留名
GravatarLovelove_boii
2016-07-06 09:05 18楼
很奇怪的一件事情
同样的程序原来运行128S,现在却要运行330s
评测机好像恢复原来的速度了
Gravatarzhengtn03
2016-05-10 17:09 17楼
回复 @stdafx.h :
坐等神犇学长填坑
Gravatarrvalue
2016-05-07 15:12 16楼
回复 @垃圾垃圾真垃 :
打表就别想得到20分以上。。。
等以后做20个测试点。
重要!输出描述有误,应为组与组间空一格。
Gravatarrvalue
2016-05-07 15:11 15楼
回复 @stdafx.h :
五一完啦学长,,你搞出来了不?
GravatarSky_miner
2016-05-02 13:41 14楼

2172. 神秘的常数π-改正版

★★★★★   输入文件:RealPi.in   输出文件:RealPi.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】


【题目1402原题】


   古希腊的大哲学家毕达哥拉斯(Pythagoras)很早就注意到数学与大千世界的联系,对数学科学的发展有着功不可没的贡献。他还创立了古希腊影响最深远的学派之一—毕达哥拉斯学派。毕达哥拉斯学派对数字的认识达到了审美的高度。他们相信,在这个世界中"万物皆数",所有事物都可以用整数和整数之比来描述。

   然而,毕达哥拉斯学派有一位叫做希帕索斯(Hippasus)的学者发现,边长为1的正方形的对角线长度不能用整数比来表示。这一惊人的发现使他被扔进的大海。



   为了探索这些奇妙的数字。CH同学需要一个计算精度极高的程序来计算无理数的近似值。

   CH同学决定从他接触的第一个无理数开始研究—π。

计算π的方法多种多样,CH同学为你提供了一些参考方案:



【原题End】


那个...原题测试数据有误,笔者特将其改正,完善后重新上传(笔者并非原题笔者)。

(OIers:好人啊!原题实在过不去啊!)

打表者勿入,最小N为131072。但各种限制更加宽松。

(OIers:打表传不上去啊怪不得...)

然而这意味着……

(OIers:又要写高精度!)

另:增加前两个测试点作为骗分测试点,打表者随意~~~

改正版题目描述与原题一致。

另添加几个较为有用的公式:


1.简洁神器——BBP公式(贝利-波尔温-普劳夫公式):

(注意:没有高精度分母)


2.高速神器——GLA公式(高斯-勒让德公式):

初始化:

迭代:

最终计算:


3.神器中的神器——FFT(快速傅里叶变换,用于高精度乘法):

(略)


有了上面的神(ti)器(shi),相信各位OIers定能AC此题!

警告:本题I/O量极大不宜使用C++流I/O!

改正版测试数据来源:Wolfram Mathematica 9

【输入格式】

一个整数N(描述精度),表示小数点后的位数

与原题不同的是,N≤17000000。

【输出格式】

π的近似值,为了方便观察, 第一行为“PI=3.”

(第二行无数据,以便观察)

第三行起为小数部分。为便于观察,每10个数字为一组(组与组之间空一格),每5组为一行,每20行间空一行。

【样例输入】

15

【样例输出】

Pi=3.

1415926535 89793

【提示】

尽量保证精度。若精度为n,则小数点后第n+1位不予考虑,直接舍弃,不进行四舍五入运算。

数据规模:N≤17000000

【来源】

undefined