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:无语了,discuss里的所以BT数据都对了,就是WA ,代码贴出来,哪位大牛指点一下In Reply To:无语了,discuss里的所以BT数据都对了,就是WA ,代码贴出来,哪位大牛指点一下 Posted by:sishen007 at 2008-10-31 14:03:06 > #include <iostream> > #include <cstdio> > #include <cstring> > #define N 200 > using namespace std; > int a[N],b[6],c[N]; > int main() > { > char r[7]; > int n; > while(scanf("%s%d",r,&n)!=-1) > { > if(!n) {cout<<"1"<<endl;continue;} > int i,j,k,t,fl=0,left=0,right=0,len; > for(i=0;i<N;i++) > { > a[i]=0; > c[i]=0; > } > for(i=0;i<6;i++) > b[i]=0; > len=strlen(r); > for(i=len-1,j=0;i>=0;i--) > { > if(r[i]=='.') > { > fl=n*(len-1-i); > continue; > } > b[j]=r[i]-'0'; > a[j]=b[j]; > j++; > } > for(t=0;t<n-1;t++) > { > for(i=0;i<6;i++) > { > for(j=0;j<N-6;j++) > c[j+i]+=(a[j]*b[i]); > for(k=0;k<N-1;k++) > { > c[k+1]+=(c[k]-c[k]%10)/10; > c[k]%=10; > } > } > for(i=0;i<N;i++) > { > a[i]=c[i]; > c[i]=0; > } > }//模拟乘法 > //输出格式 > for(i=0;!a[i]&&i<N;i++); > left=i; > if(left==N) {cout<<"0"<<endl;continue;} > for(i=N-1;!a[i];i--); > right=i; > if(left>=fl) > { > for(i=right;i>=fl;i--) > cout<<a[i]; > cout<<endl; > } > else if(left<fl&&fl<right+1) > { > for(i=right;i>=fl;i--) > cout<<a[i]; > cout<<"."; > for(i=fl-1;i>=left;i--) > cout<<a[i]; > cout<<endl; > } > else if(fl>right) > { > cout<<"0."; > for(i=fl-1;i>=left;i--) > cout<<a[i]; > cout<<endl; > } > } > return 0; > } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator