http://acm.nyist.net/JudgeOnline/problem.php?pid=303
文章来源oj
题目是河南省第四届大学生程序设计竞赛
#include <iostream>
03.
#include <cstring>
04.
using
namespace
std;
05.
int
main()
06.
{
07.
int
i,j,n,len,k,sum,m;
08.
char
a[100];
09.
char
b[100];
10.
char
c;
11.
cin>>n;
12.
while
(n--)
13.
{
14.
cin>>a;
15.
sum=0;
16.
len=
strlen
(a);
17.
if
(a[0]<=
'Z'
&&a[0]>=
'A'
)
18.
{
19.
for
(i=len-1;i>=0;i--)
20.
{ m=(a[i]-
'A'
+1);
21.
for
(j=1;j<len-i;j++)
22.
m=m*26;
23.
sum+=m;
24.
}
25.
cout<<sum;
26.
}
27.
else
28.
{
29.
m=0;
30.
for
(i=len-1;i>=0;i--)
31.
{ m=(a[i]-
'0'
);
32.
for
(j=1;j<len-i;j++)
33.
m=m*10;
34.
sum+=m;
35.
}
36.
k=0;
37.
while
(sum>26)
38.
{
39.
m=sum%26;
40.
if
(m==0){
41.
c=m+
'0'
+42;
42.
sum=sum/26-1;
43.
}
44.
else
45.
{c=m+
'0'
+16;
46.
47.
sum=sum/26; }
48.
b[k++]=c;
49.
}
50.
c=sum+
'0'
+16;
51.
b[k]=c;
52.
for
(i=k;i>=0;i--)
53.
{
54.
cout<<b[i];
55.
}
56.
}
57.
cout<<endl;
58.
}
59.
return
0;
60.
}