第20题:字符串数组seq[] = a,b,c,d,aa,ba,ca,da,ab,bb,cb,db,ac...,aaa,baa,...
(1)aaa是第几个字符串
(2)ababacd是第几个
(3)第1000个字符串是什么
(4)编写函数find(),返回字符串在seq中是第几个(语言不限)
分析: 四进制数,右边是高位。
已知一个字符串,求第几个:
int getindex(char a[]) { int len = strlen(a); if(len < 1) return 0; int sum = 0; for(int i = 0 ; i<len ; i++) { int tp = a[i] - 'a' + 1; sum = sum * 4 + tp; } return sum; }
已知index ,求字符串:
char getchar(int index){ switch(index){ case 0 : return 'd'; case 1 : return 'a'; case 2 : return 'b'; case 3 : return 'c'; default : return '