1. 程式人生 > 其它 >上機程式設計認證03

上機程式設計認證03

/*
* 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