2023 荣耀笔试题 0911
笔试时间:2023年9月11日 秋招
第一题
题目
输入描述
输入是一个明文,password长度不超过100字符,输入的字符在文件首行。
输出描述
输出转换后的password
样例输入
LIming0701
样例输出
5464640701
参考题解
模拟打表,大写字母转化成小写字母,小写字母有三个字母一组和四个字母一组的
C++:[此代码未进行大量数据的测试,仅供参考]
#include <iostream>
#include <string>
char fun(char c) {
if (std::islower(c)) {
if (c == 'a' || c == 'b' || c == 'c') return '2';
if (c == 'd' || c == 'e' || c == 'f') return '3';
if (c == 'g' || c == 'h' || c == 'i') return '4';
if (c == 'j' || c == 'k' || c == 'l') return '5';
if (c == 'm' || c == 'n' || c == 'o') return '6';
if (c == 'q' || c == 'p' || c == 'r' || c == 's') return '7';
if (c == 't' || c == 'u' || c == 'v') return '8';
else return '9';
} else if (std::isupper(c)) {
char low = std::tolower(c);
if (low == 'a') {
low = 'z';
} else {
low = static_cast<char>(low - 1);
}
return fun(low);
} else {
return c;
}
}
int main() {
std::string s;
std::cin >> s;
std::string ans;
for (char c : s) {
if (c == ' ') continue;
ans.push_back(fun(c));
}
std::cout << ans << std::endl;
return 0;
}
Java:[此代码未进行大量数据的测试,仅供参考]
import java.util.Scanner;
class MatrixFillProblem {
public static void main(String[] args) throws InterruptedException {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
StringBuilder ans = new StringBuilder();
for (char c : s.toCharArray()) {
if (c == ' ') continue;
ans.append(fun(c));
}
System.out.println(ans);
}
public static char fun(char c) {
if (Character.isLowerCase(c)) {
if (c == 'a' || c == 'b' || c == 'c') return '2';
if (c == 'd' || c == 'e' || c == 'f') return '3';
if (c == 'g' || c == 'h' || c == 'i') return '4';
if (c == 'j' || c == 'k' || c == 'l') return '5';
if (c == 'm' || c == 'n' || c == 'o') return '6';
if (c == 'q' || c == 'p' || c == 'r' || c == '
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2023 秋招笔试题汇总解析 文章被收录于专栏
2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。
