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 |
搞定啦!#include <iostream> using namespace std; int R; int n; int h; int dot_index; char s[6]; int r_int[125]; void power(int r[],int R) { for(int i=0;i<=h;i++) { r[i]*=R; } int i=0; while(i<h) { r[i+1]+=r[i]/10; r[i]=r[i]%10; i++; } while(r[i]/10!=0)//critical { r[i+1]+=r[i]/10; r[i]=r[i]%10; i++; } h=i; } int main() { n=0; while(cin>>s>>n) { R=0;h=0;dot_index=0; for(int i=0;i<5;i++) { if(s[i]=='.') dot_index=(5-i)*n-1; } for(int i=0;i<=5;i++) { if(s[i]!='.') R=R*10+(s[i]-'0'); } if(R==0) { cout<<0<<endl; continue; } memset(r_int,0,sizeof(r_int)); r_int[0]=1; for(int i=0;i<n;i++) power(r_int,R); int trail=0; if(dot_index!=0) { for(;trail<=dot_index;trail++) { if(r_int[trail]!=0) break; } } if(dot_index>h) { cout<<"."; for(int i=dot_index;i>h;i--) cout<<r_int[i]; } for(;h>=trail;h--) { if(dot_index==h) cout<<"."; cout<<r_int[h]; } 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