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 |
help~~!!#include<iostream> using namespace std; int n,la,lb,lc,lx; int a[160], b[160], c[160]; char r[7]; void bigc() { for (int i=1;i<=la;i++) for (int j=1;j<=lb;j++) c[i+j-1]=c[i+j-1]+a[i]*b[j]; lc=la+lb; for (int i=2;i<=lc;i++) {c[i]=c[i]+c[i-1]/10; c[i-1]=c[i-1]%10;} while (c[lc]%10!=c[lc]){lc++; c[lc]=c[lc-1]/10; c[lc-1]=c[lc-1]%10;} for (int i=1;i<=lc;i++) a[i]=c[i]; la=lc; for (int i=0;i<=160;i++) c[i]=0; } void print() { while (a[la]==0&&la>lx+1&&la>1) la--; while (a[1]==0&&lx>0) {lx--; la--;for (int i=1;i<=la;i++) a[i]=a[i+1];} for (int i=la; i>=lx+1;i--) cout<<a[i]; if (!(lx==1&&a[1]==0)&&(lx>0)) cout<<'.'; for (int i=lx;i>=1;i--) cout<<a[i]; cout<<endl; } int main() { int rz,xsd; while(cin>>r) { la=0; for (int i=1;i<=6;i++) { la++; if (r[i-1]=='.') {xsd=i;la--;} else a[la]=b[la]=r[i-1]-'0'; } lx=la-xsd+1; if (lx<0) lx=0; for (int i=1;i<=la;i++) b[i]=a[la-i+1]; for (int i=1;i<=la;i++) a[i]=b[i]; cin>>n; lx=lx*n; lb=la; for (int i=0;i<=160;i++) c[i]=0; for (int i=1; i<n;i++) bigc(); print(); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator