序列 seq=[a,b,…,z,aa,ab,…,az,ba,bb,…,bz,…,za,zb,…,zz,aaa,…]类似于excel的字母序排列,任意给一字符串 s=[a-z]+(由a-z字符串组成的任意长度字符串),请问s是序列seq的第几个字符串。
总觉得这题有点不想baidu的风格,也许是其中的旋律我还没有参透吧,各位要是有参透的一定得透露透露^_^
也许是考溢出?
#include <stdio.h> #include <stdlib.h> #include <string.h>
int getnum(char c) { return c-'a'+1; } int main() { unsigned long long int p; char s[26]; while(strcmp(fgets(s,26,stdin),"\n")) { printf("s is %s",s); p = 0; char* ch = s; while(*ch!='\n') { p = p*26 + getnum(*ch); ch++; } printf("%s is %lu\n",s,p); } system("PAUSE"); return 0; }
|
阅读(1149) | 评论(2) | 转发(0) |