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

posted @ 2014-12-11 17:30  __夜风  阅读(145)  评论(0编辑  收藏  举报