題目描述:
假定一種編碼的編碼范圍是a ~ y的25個(gè)字母,從1位到4位的編碼,如果我們把該編碼按字典序排序,形成一個(gè)數(shù)組如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的Index為0,aa的Index為1,aaa的Index為2,以此類推。 編寫一個(gè)函數(shù),輸入是任意一個(gè)編碼,輸出這個(gè)編碼對(duì)應(yīng)的Index.
輸入描述:
輸入一個(gè)待編碼的字符串,字符串長度小于等于100.
輸出描述:
輸出這個(gè)編碼的index
示例1
輸入
baca
輸出
16331
參考程序:
#include <iostream>
using namespace std;
int main(){
char c;
int n=5,sum=0;
while(--n){
cin.get(c);
if(c=='\n')break;
c-='a';
switch(n){
case 4:sum+=c*16276;break;
case 3:sum+=c*651+1;break;
case 2:sum+=c*26+1;break;
case 1:sum+=c+1;break;
}
}
cout<<sum<<endl;
return 0;
}