hdu 2106

时间:2024-07-11 14:38:08
#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