大家好,我是小新,我来为大家解答以上问题。格里高利七世,格里高利很多人还不知道,现在让我们一起来看看吧!
1、
1、#include <stdio.h> long a=10000,b,c=2800,d,e,f[2801],g; void main() { for(;b-c;) f[b++]=a/5; for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a) for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b); }
2、关键是精度~~double大到(或小到)一定的时候就不能精确了 需要将公式转换成连乘的形式,用数组记录下各位各组计算产生的进位,再对下一位进行计算 需要将公式转换成连除的形式,用数组记录下各各组位计算产生的余数 公式推导和精度的确定需要用到泰勒公式和泰勒公式余项的计算。如上面的例子
本文到此讲解完毕了,希望对大家有帮助。