祖母绿多少钱1克拉
展开全部#include
include
include
define n 20010
using namespace std;void mult(int*a,int b,int*s)
{
for(int i=n,c=0;i>=0;i-)
{
int y=(*(a+i))*b+c;c=y/10;(s+i)=y%10;}
}
void divi(int*a,int b,int*s)
{
for(int i=0,c=0;i;i+)
{
int y=(*(a+i))+c*10;c=y%b;(s+i)=y/b;}
}
void incr(int*a,int*b,int*s)
{
for(int i=n,c=0;i>=0;i-)
{
int y=(*(a+i))+(*(b+i))+c;c=y/10;(s+i)=y%10;}
}
bool eqs(int*a,int*b)
{
int i=0;while(((*(a+i))=(*(b+i)))&(i))i+;return i>n;}
int main(int argc,char*argv[])
{
int lpi[n+1],lls[n+1],lsl[n+1],lp[n+1];int*pi=lpi,*ls=lls,*sl=lsl,*p=lp;for(int i=0;i;i+)*(pi+i)=*(ls+i)=*(sl+i)=*(p+i)=0;memset(pi,0,sizeof(pi));memset(ls,0,sizeof(ls));memset(sl,0,sizeof(sl));memset(p,0,sizeof(p));pi=*ls=*sl=1;for(int i=1;true;i+)
{
mult(ls,i,sl);divi(sl,2*i+1,ls);incr(pi,ls,p);if(eqs(pi,p))break;int*t;t=p;p=pi;pi=t;if(i%50=0)cout;}
cout;mult(p,2,pi);ofstream fout("pi.txt");fout*pi;for(int i=1;i;i+)
{
fout*(pi+i);if(i%10=0)fout;if(i%80=0)fout;}
return exit_success;}
算出的答案就是你想要的答案 20210311