數字字串轉成字母串

2021-06-26 02:04:48 字數 884 閱讀 9787

問題:翻譯數字串,類似於**號碼翻譯:給乙個數字串,比如12259,對映到字母陣列,比如,1 -> a, 2-> b,... , 12 -> l ,... 26-> z。那麼,12259 -> lyi 或 abbei 或 lbei 或 abyi。輸入乙個數字串,判斷是否能轉換成字串,如果能,則列印所以有可能的轉換成的字串。

參考:數字串中最多有兩位對應乙個字母。有兩種方式:取數字串的第一位,然後翻譯剩餘串;取數字串的前兩位,如果有對應的字母(數字在10-26),然後翻譯剩餘的字串。後面的子問題可以遞迴的求解。

/**

* 數字翻譯

* @param input

* @param start

* @param end

* @param output

* @param index 輸出串字元位置

* @return

*/static boolean translatenum(string input,int start,int end,char output,int index)

} return res1 || res2; }

static void translate(string numbers)

for(char ch:numbers.tochararray())

} char result = new char[numbers.length()+1];

translatenum(numbers, 0, numbers.length()-1, result, 0); }

public static void main(string args)

要注意對不合法的數字字串的判斷,也可以在translatenum中捕捉異常來控制。

1162 數字 字串

時間限制 1000 ms 記憶體限制 65535 kb 難度 0 描述 有一行數字 現在定義 0表示空格,即這行數字被分割成若干個數 要求將這些數按照從小到大順序排列,若該行數字全為零 則表示為零,兩個數字之間可能有多個0,開頭和結尾可能都有0,所有的0都看成空格,數字的個數不超過100。輸入輸入有...

數字字串問題

題目描述 輸入兩個很大的正數 用c字串表示 輸出他們的乘積。採用的方法可以模擬手工乘法 關鍵步驟 void multiply const char a,const char b for int i 0 i ca i for int j 0 j cb j s i j 1 a i 0 b j 0 for...

搭數字(字串)

搭數字 描述 搭出數字1需要兩個筷子,數字2需要5根筷子 現在就有疑問了,給定n 2 n 100 根筷子,那個可以組成的最大數是多少?輸入每行給定乙個筷子數量n 2 n 100 輸出每行輸出用這n根筷子所能組成的最大數字 輸入樣例 136 715輸出樣例 1 7111 7117111111 stri...