還有,若a1a2a3......+b1b2b3......ai和bi代表每一位上的數字,0≤ai,bi≤9,能否求出一個公式使得用以上的字母能用十進位表示出相加後的值?把相乘相除等替換掉相加,是否能求出一個類似的公式?


第一個問題:Spigot演算法。

第二個問題:大數運算, [公式] ,其中 [公式] 表示 [公式] 的整數部分,n是個位的i值(如果兩者位數相同,不然就補齊嘛╭(╯3╰)╮,叫你從最高位開始編號)

乘法的話最簡單的就是暴力卷積,然後有分治(Python),FFT之類的

除法可以直接長除;或者計算某個有限域裡面除數的逆元,再回到乘法(後者必須保證整除)。


上面的是演算法。公式嘛……沒有公式的,這輩子都不會有公式的,你看那些湊出來的公式,長得又難看,計算又麻煩,我超不喜歡的……再說了有了演算法你的公式可以炫目地湊出來,只是計算原理沒有改變。有了公式又不會怎麼樣……


可以,已經被證明


各位評論區以及題主,百度一下沃利茨公式,你們會回來感謝我的


https://en.m.wikipedia.org/wiki/Bailey–Borwein–Plouffe_formula?

en.m.wikipedia.org

BBP公式了解一下,可以在16進位下,在不計算前面數字的情況下得到第n位數字


只要拓寬「通項公式」的含義,所有可計算數都是可以的,當然還有不可計算數。


記得好像 周周率=∑(1/n)的平方,其中n為正整數,n越大,圓周率精度越高(∑是數列求和,不是積分求和)


推薦閱讀:
相关文章