问题描述
1->A,26->Z,27->AA,52->AZ,..这个怎么写啊各位
解决方案
解决方案二:
可以:自己写在HashTable中,规则自己定
解决方案三:
Dictionary<int,string>dic=newDictionary<int,string>();dic[1]="A";dic[26]="Z";
解决方案四:
1->A,26->Z,27->AA,52->AZ,..这个怎么写啊各位_____有问题吧28-->AB28-->BA?到底是哪个?
解决方案五:
28到AB。。。
解决方案六:
publicstringConvert(intinput){stringrtn=string.Empty;while(true){intquotient=input/26;intsurplus=input%26;if(0==surplus){surplus=26;quotient-=1;}rtn=rtn.Insert(0,((char)(surplus-1+'A')).ToString());if(0==quotient)break;input=quotient;}returnrtn;}
解决方案七:
string[]arr=newstring[52];strings;charc;for(intm=0;m<2;m++){s=newstring('A',m);for(intn=0;n<26;n++){arr[m*26+n]=s+(char)((int)'A'+n);}}//测试输出A-ZAA-AZfor(inti=0;i<52;i++){Console.WriteLine(arr[i]);}
解决方案八:
以上代码用数组,最直接,效率最好,最易懂外层循环执行两次,可以扩展为n次
解决方案九:
索引为数字,HashTable效率远不如数组,而且也没有实现代码5楼的每一个数都要经过复杂运算,显然效率比直接查表更低的多了
解决方案十:
为啥非要把简单问题复杂化呢?我很纳闷~