Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
Re:哪位大牛能帮我看看In Reply To:哪位大牛能帮我看看 Posted by:ls at 2006-04-01 03:27:48 #include<iostream.h> void show(int *a) //输出 { int size=a[0],deci=a[size+1]; int inte=size-deci,i=0; if(inte>=0) { for(i=0;i<inte;i++) cout<<a[size-i]; if(deci!=0) cout<<'.'; for(i=0;i<deci;i++) cout<<a[deci-i]; } else { cout<<'.'; for(i=0;i<-inte;i++) cout<<0; for(i=1;i<=size;i++) cout<<a[size-i+1]; } cout<<endl; } void chen(int *a,int *b,int *cc) 算乘法 { int i,j,k; int c[1000]; for(i=0;i<1000;i++) c[i]=0; for(i=1;i<=b[0];i++) { k=i; for(j=1;j<=a[0];j++) { c[k]+=b[i]*a[j]; k++; } } int size=a[0]+b[0]; int deci=a[a[0]+1]+b[b[0]+1]; for(i=1;i<=size;i++) if(c[i]>=10) { c[i+1]+=c[i]/10; c[i]%=10; } j=1; while(c[j]==0&&j<=deci) { j++; deci--; size--; } i=a[0]+b[0]; while(c[i]==0) { size--; i--; } cc[0]=size; for(i=1;i<=size;i++) cc[i]=c[i+j-1]; cc[size+1]=deci; } void main() { int n,i=0,inter=-1,size=0; int result[1000]; int input[100]; for(n=0;n<100;n++) input[n]=0; char a[10]; do{ a[i]=cin.get(); if(a[i]>='0'&&a[i]<='9') input[++size]=int(a[i])-int('0'); else if(a[i]=='.') inter=i; else { if(inter==-1) inter=i; break; } }while(++i); for(i=1;i<=size/2;i++) { n=input[i]; input[i]=input[size-i+1]; input[size-i+1]=n; } input[0]=size; input[size+1]=size-inter; for(i=0;i<=size+1;i++) result[i]=input[i]; cin>>n; for(i=1;i<n;i++) chen(input,result,result); show(result); } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator