原始問題如下:手機上面的數字鍵均對應了幾個字元,譬如2對應了a,b,c。問題是當輸入一段數字後,求出所有可能的字元組合
第一種方法:假設**號碼是n個數字,那麼就n個for迴圈。
這方法果斷不好
第二個方法:
#include #include using namespace std;
char c[10][10] =
;int total[10] = ;
int tel_length;
int number[10], answer[10];
int main(int argc, const char * argv)
puts("\n");
int k = tel_length-1;
while(k >= 0) else
}if(k < 0) break;
}return 0;
}
第三個方法:回溯法:
#include #include using namespace std;
char c[10][10] =
;int total[10] = ;
int tel_length;
int number[10], answer[10];
void recursivesearch(int *number, int *answer, int index, int n) else
}}int main(int argc, const char * argv)
電話號碼對應英語單詞
號碼盤一般可以用於輸入字母,如2可以輸入a b c,等等。要求設計號碼所對應的所有組合。如5969872可以對應 jtmwtpa jtmwtpb等。這就相當於排列數,如5對應j k l,以j k l各自引出9對應的w x y z這些數字的組合就構成一棵樹。我們可以構建乙個二維陣列charc 10 1...
電話號碼對應英語單詞
題目描述 實現 public class recursivesearch 0 0表示空字元 1 2 3 4 5 6 7 8 9 static int total 分別表示0 9所代表的字元的個數 public static void main string args 假設 號碼為234,number...
電話號碼對應的英語單詞
具體問題描述見 程式設計之美 3.2 號碼對應英語單詞,在本文中主要根據 程式設計之美 中的思想分別利用遞迴與非遞迴的思想實現了 號碼對應英語單詞的構造實現,主要考慮了排列樹的思想,利用遍歷樹中的每個葉子節點來實現所有單詞的集合。對應文中的查詢方法正如 程式設計之美 中介紹的方法一樣,主要根據構造的...