// 26進制,不過有缺點,需要大數處理
#include <iostream>
using namespace std;
long pow(long x, long y)
{
long ret = 1;
while(y>0)
{
ret = ret*x;
--y;
}
return ret;
}
long look_up_seq(char* pstr)
{
long ret = 0;
int i = 0;
while(*pstr != '\0')
{
ret += (*pstr-'a') * pow(26, i);
++i;
++pstr;
}
return ret;
}
int main(int argc, char* argv[])
{
cout << look_up_seq("a")<<endl;
cout << look_up_seq("z")<<endl;
return 0;
}
已知一個序列seq=[a,b,....,z,aa,ab,...,zz,aaa,aab,....],求任意一個字符串s=[a-z]+在seq中出現的位置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.