hdu 2106
#include <iostream> #include <cmath> #include <string.h> using namespace std; int main() { int sum,m,len,t,i,k,s; char a[1001]; while(cin>>t) { sum=0; while(t--) { cin>>a; m=0; len=strlen(a); for(i=0;i<len;i++) {if(a[i]=='('&&a[i+2]=='0') {m=10;k=i+1;break;} if(a[i]=='(') {k=i+1;m=a[k]-'0';break;}} //m+=a[k]; //cout<<a[k]<<" "<<m<<" "<<sum<<endl; //cout<<sum<<endl; s=k; //cout<<m<<endl; for(i=0;i<s-1;i++,k--) { sum=sum+(a[i]-'0')*(pow(m*1.0,double(k-2))); //cout<<a[i]-'0'<<" "<<pow(m,k-2)<<" "<<sum<<endl; }//cout<<sum<<endl; //cout<<a[i]<<" "<<pow(a[k],k-2)<<" "<<sum<<endl; }cout<<sum<<endl;} return 0; }
hdu 2106
关于这道题的解题报告,我只想说的是,一个char转int一直都没想出来啊。。。。上面的代码不知道为什么在杭电上提交的时候出现编译错误。。。
后面看了,是pow函数里默认是double型。。。。ORZ