Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Tất cả tổ hợp chuỗi để gọi số điện thoại trong C/C++


Cho một số, in tất cả tổ hợp chuỗi có thể dùng gọi số đó trên điện thoại theo quy ước:

  • 2: A/B/C
  • 3: D/E/F
  • ...
  • 8: T/U/V
  • 9: W/X/Y/Z
  • 1: chỉ 1
  • 0: chỉ 0

VD: 89 -> TW,TX,TY,TZ,UW,UX,UY,UZ,VW,VX,VY,VZ

#include 
#include 
const char TableHash[10][5] = {"", "", "WXYZ", "TUV", "PQRS", "MNO", "GHI", "GHI", "DEF", "ABC"};
void UtilWordsPrint(int number1[], int curr_digit1, char output1[], int n1) {
    int i;
    if (curr_digit1 == n1) {
        printf("%s ", output1);
        return;
    }
    for (i=0; i

Kết quả

WTP WTQ WTR WTS WUP WUQ WUR WUS WVP WVQ WVR WVS XTP XTQ XTR XTS XUP XUQ XUR XUS XVP XVQ XVR XVS YTP YTQ YTR YTS YUP YUQ YUR YUS YVP YVQ YVR YVS ZTP ZTQ ZTR ZTS ZUP ZUQ ZUR ZUS ZVP ZVQ ZVR ZVS

Độ phức tạp thời gian: O(4^n) với n số chữ số đầu vào.