梅钦类公式(英语:Machin-like formula)是数学中计算圆周率的一个常用技巧,它是梅钦公式的推广,梅钦公式的形式为 梅钦依据此公式,把圆周率计算到一百多位小数. 梅钦类公式的形式为: () 其中, 和 为正 整数,且 , 为非零整数,且 为正整数. 梅钦类公式的应用可结合反正切函数的泰勒级数展开: ().根据角的和差公式, 若 有   反复应用这一方程,可得到所有的梅钦类公式,比如最初的梅钦公式: #include#includeusing namespace std;int main(void){ 本程序每四位数输出,如果请求计算的位数不是4的整数倍,最后输出可能会少1~3位数 long a[2]={956,80},b[2]={57121,25},i=0,j,k,p,q,r,s=2,t,u,v,N,M=10000; printf("%9cMachin%6cpi=16arctan(15)-4arctan(1239)nPlease input a number.n",32,32); cinN,N=N4+3; long *pi=new long[N],*e=new long[N]; while(iN)pi[i]=0; while(--s+1) { for(*e=a[k=s],i=N;--i;)e[i]=0; for(q=1;j=i-1,iN;e[i]?0:i,q+=2,k=!k) for(r=v=0;jN;pi[j]+=k?u:-u)u=(t=v*M+(e[j]=(p=r*M+e[j])b[s]))q,r=p%b[s],v=t%q; } while(--i)(pi[i]=(t=pi[i]+s)%M)0?pi[i]+=M,s= for(cout"3.";iN-2;)printf("%04ld",pi[i]); delete []pi,delete []e,cin.ignore,cin.ignore; return 0;}