#include<stdio.h> int trans(char c) { if (c>='0' && c<='9') return c-'0'; else return c-'a'+10; } int main() { int n, sum, i; char s[12]; //freopen("out.txt", "w", stdout); while (~scanf("%d",&n)) while (n--) { scanf("%s", s); sum = 0; if (s[0]=='0' && s[1]=='x') for (i=2; s[i]!='\0'; i++) sum=sum*16+trans(s[i]); else for (i=1; s[i]!='\0'; i++) sum=sum*8+s[i]-'0'; printf("%d\n", sum); } return 0; } /************************************************************** Problem: 2063 User: admin Language: C Result: Accepted Time:35 ms Memory:1144 kb ****************************************************************/