Excel表列名称由字母A~Z组成,列字母的规律如下: A、B、C.、AA、AB....AZ、BA、B...ZZZZY、ZZZZ...输入: 输入包含两个列名称字符串,长度均小于等于5。 输出: 输出两个列名称之间共有多少列
样例输入:
AA AZ
样例输出:
24
代码:
C++:
#include<iostream>
#include<string>
#include<cmath>
using namespace std;
int main() {
string s1; cin >> s1;
string s2; cin >> s2;
int n1 = 0, n2 = 0;
for (int i = 0; i < s1.length(); i++) {
n1 *= 26;
n1 += s1[i] - 'A' + 1;
}
for (int i = 0; i < s2.length(); i++) {
n2 *= 26;
n2 += s2[i] - 'A' + 1;
}
cout << n1 << endl;
int res1 = max(n1, n2);
int res2 = min(n1, n2);
cout << res1 - res2 - 1 << endl;
return 0;
}
Python:
class Solution:
def main(self):
s1 = input()
s2 = input()
n1 = 0
n2 = 0
for i in s1:
n1 *= 26
n1 += ord(i) - 16 + 1
for i in s2:
n2 *= 26
n2 += ord(i) - 16 + 1
print(abs(n1 - n2))
if __name__=="__main__":
s = Solution()
s.main()
Java:
package com.my.gududu;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String s1 = input.nextLine();
String s2 = input.nextLine();
int n1 = 0, n2 = 0;
for (int i = 0; i < s1.length(); i++) {
n1 *= 26;
n1 += s1.charAt(i) - 'A' + 1;
}
for (int i = 0; i < s2.length(); i++) {
n2 *= 26;
n2 += s2.charAt(i) - 'A' + 1;
}
System.out.println(Math.abs(n1 - n2));
}
}