1271 十六進製制魔術數字

2021-10-09 13:52:50 字數 991 閱讀 8722

題目描述:

你有乙個十進位制數字,請按照此規則將它變成「十六進製制魔術數字」:首先將它變成字母大寫的十六進製制字串,然後將所有的數字 0 變成字母 o ,將數字 1 變成字母 i 。

如果乙個數字在轉換後只包含 ,那麼我們就認為這個轉換是有效的。

給你乙個字串 num ,它表示乙個十進位制數 n,如果它的十六進製制魔術數字轉換是有效的,請返回轉換後的結果,否則返回 「error」 。

示例 1:

輸入:num = 「257」

輸出:「ioi」

解釋:257 的十六進製制表示是 101 。

示例 2:

輸入:num = 「3」

輸出:「error」

1 <= n <= 10^12

給定字串不會有前導 0 。

結果中的所有字母都應該是大寫字母。

方法1:

主要思路:

(1)先將需要轉換的數字和字元進行對映;

(2)再將需要轉換的字串轉成對應的整型,使用求餘的方法轉成對應的十六進製制;

(3)若在轉換的過程中發現不符合要求的數字,則直接返回錯誤;

(4)否則,最後返回轉換的結果;

class

solution

mp[0]

='o'

; mp[1]

='i'

;long

long n=

stol

(num)

;//將需要轉換的字串轉成對應的整型

string res;

while

(n) n/=16

; res=mp[tmp]

+res;

}return res;

//返回結果}}

;

十六進製制與數字

原始碼 檔名 digit1.php error reporting 0 if empty get password function noother says correct temp one ord 1 nine ord 9 number 3735929054 check all the inpu...

CString轉十六進製制數字

借用strtol函式可以直接將乙個cstring物件轉化為任意數制的整數。比如 cstring st 20 int n strtol st,null,16 strtol函式原型 long int strtol const char nptr,char endptr,int base 引數base範圍...

Excel輸入十六進製制數,以及十六進製制運算

網上覆制來複製去的連個靠譜答案都沒有.f k 所以無奈自己探索出來了 單元格 a1文字值 a2進製值 輸入內容 fefe oct2hex hex2oct a29 由於單元格沒有提供進製格式,所以填入的值實際上是文字值,但是轉換函式卻可以把文字值視為進製值拿去轉換 所以我們兩次轉換就能得到真正的進製數...