我必须编写一个C程序,它所做的是将整数作为输入。并且输出到小数点后的PI的输入(th)数。就像输入为100一样,输出为9(pi的第100位,小数点后的9位)。 什么是最好的算法?
p.s我不想将pi的值保存到字符串中,并且这样做。
答案 0 :(得分:4)
你的问题更像是一个数学问题,而不是一个C编程问题(所以可能是偏离主题的)。首先阅读Pi和Approximations of π
上的wikipage如果你只需要计算几百(甚至几十万)个数字,你只需要使用一些算法并使用一些bignum库(例如GMPlib)对其进行编码,其中mpfr_const_pî具有{{} 3}} ass由chtz评论。
数十亿的数字让事情变得有趣。我不是Pi的专家,但请查看Fabrice Bellard work就可以了(请参阅technical notes提及Chudnovsky's algorithm)。