当前位置:实例文章 » HTML/CSS实例» [文章]【2023】华为OD机试真题Java CC++ Python JS Go-题目0252-密钥格式化

【2023】华为OD机试真题Java CC++ Python JS Go-题目0252-密钥格式化

发布人:shili8 发布时间:2025-03-04 22:51 阅读次数:0

**华为OD机试真题 Java CC++ Python JS Go**

**题目0252:密钥格式化**

### 题目描述在某个系统中,需要对密钥进行格式化处理。密钥是由数字组成的字符串,每个数字之间用空格隔开。要求将密钥按照一定规则进行格式化。

### 规则:

1. 密钥长度必须为偶数。
2. 每四位数字之间用空格隔开。
3. 如果密钥长度小于4,直接返回原来的密钥。

### 输入输出示例输入:`12345678`

输出:`12345678`

输入:`12345`

输出:`12345`

### Java代码实现

javapublic class KeyFormatter {
 public static String formatKey(String key) {
 // 检查密钥长度是否为偶数 if (key.length() %2 !=0) {
 return "Invalid key length";
 }

 StringBuilder formattedKey = new StringBuilder();
 for (int i =0; i < key.length(); i +=4) {
 // 每四位数字之间用空格隔开 formattedKey.append(key.substring(i, Math.min(i +4, key.length()))).append(" ");
 }
 return formattedKey.toString().trim();
 }

 public static void main(String[] args) {
 System.out.println(formatKey("12345678")); // Output: "12345678"
 System.out.println(formatKey("12345")); // Output: "12345"
 }
}


### C++代码实现
cpp#include <iostream>
#include <string>

std::string formatKey(const std::string& key) {
 int length = key.length();
 if (length %2 !=0) {
 return "Invalid key length";
 }

 std::string formattedKey;
 for (int i =0; i < length; i +=4) {
 formattedKey += key.substr(i,4) + " ";
 }
 return formattedKey.substr(0, formattedKey.size() -1); // Remove trailing space}

int main() {
 std::cout << formatKey("12345678") << std::endl; // Output: "12345678"
 std::cout << formatKey("12345") << std::endl; // Output: "12345"
 return0;
}


### Python代码实现
def format_key(key):
 length = len(key)
 if length %2 !=0:
 return "Invalid key length"

 formatted_key = ""
 for i in range(0, length,4):
 formatted_key += key[i:i+4] + " "
 return formatted_key.strip()

print(format_key("12345678")) # Output: "12345678"
print(format_key("12345")) # Output: "12345"


### JavaScript代码实现
javascriptfunction formatKey(key) {
 let length = key.length;
 if (length %2 !=0) {
 return "Invalid key length";
 }

 let formattedKey = "";
 for (let i =0; i < length; i +=4) {
 formattedKey += key.substring(i, Math.min(i +4, length)) + " ";
 }
 return formattedKey.trim();
}

console.log(formatKey("12345678")); // Output: "12345678"
console.log(formatKey("12345")); // Output: "12345"


### Go代码实现
gopackage mainimport (
"fmt"
)

func formatKey(key string) (string, error) {
	length := len(key)
	if length%2 !=0 {
	return "", fmt.Errorf("Invalid key length")
}

	var formattedKey []string	for i :=0; i < length; i +=4 {
	fragment := key[i : Math.Min(i+4, length)]
	fragmentedKey := fragment + " "
	fixedFragmentedKey := fragmentedKey[:len(fragmentedKey)-1] // Remove trailing space	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]

	fixedFragmentedKey += " "
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragmentedKey[:len(fixedFragmentedKey)-1]
	fixedFragmentedKey = fixedFragment

其他信息

其他资源

Top