上機程式設計認證03
阿新 • • 發佈:2022-04-14
/*
* Copyright (c) Huawei Technologies Co., Ltd. 2019-2020. All rights reserved.
* Description: 上機程式設計認證
* Note: 預設程式碼僅供參考,可自行決定使用、修改或刪除
* 只能import Go標準庫
*/
package main
import (
"bufio"
"fmt"
"io"
"os"
"strconv"
"strings"
)
// 待實現函式,在此函式中填入答題程式碼
func encodingVerify(input string) int {
//判斷是否是string是否合規
inputLens := len(input)
//長度範圍內
if inputLens < 2 && inputLens > 12 {
return -1
}
//長度為偶數
if inputLens % 2 != 0 {
return -1
}
doubleLens := inputLens / 2
for _,value := range input{
//判斷字元是否是16進位制
stringValue := string(value)
if (stringValue < "A" || stringValue > "F") && (stringValue < "0" || stringValue > "9"){
return -1
}
}
dec,_ := strconv.ParseInt("E9",16,64)
fmt.Println(input[:2])
fmt.Println(dec)
firstBit := dec >> (8-doubleLens)
fmt.Println(firstBit)
if firstBit != doubleLens {
return -1
}
return 0
}
func main() {
inputReader := bufio.NewReader(os.Stdin)
input, err := inputReader.ReadString('\n')
if err != nil && err != io.EOF {
fmt.Println(err.Error())
return
}
input = strings.TrimRight(input, "\r\n")
input = strings.TrimSpace(input)
fmt.Println(encodingVerify(input))
}
E980A5
36901
C0C0
-1