在线等! C++ 电话号码加密排列组合问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:41:29
从一个有很多个电话号码的文本里提取一段电话号码

比如 604 223 2287

2 对应 A B C

3 对应 D E F

4 对应 G H I

5 对应 J K L

6 对应 M N O

7 对应 P Q R S

8 对应 T U V

9 对应 W X Y Z

列出 号码后7位的 比如上面的2232287 对应的所有英文字母排列组合
在另一个文本(里面为英文单词)找到排列出来的对应的单词 并输出

如果只固定一个号码就很简单我现在能写出来 现在就请问 要考虑到里面有不同的号码 这个通用算法怎么写呢?

谢谢
问题补充在 http://tieba.baidu.com/f?kz=617453896 完成后追加分

谢谢

QQ上回答

楼主问的明显是手机键盘...
直接搜索就可以了
void try(int k)
{
if (k==7)打印ans
else {ans[k]=a[k][1];try(k+1);
ans[k]=a[k][2];try(k+1);
ans[k]=a[k][3];try(k+1); }//a[k][i]为号码num[k]对应的字母
}
ms可以

多个号码不就是在读一个号码的基础上加个循环么,有什么难的

你要读字符,然后考虑switch的问题,先读,再判断,要用到switch嵌套。
已经确定号码的编号后,再排列组合嘛,你的意思应该是所有满足条件的都包括在内~~那是数学问题了,不难~

貌似是一道ACM的题目