【騰訊2017秋招筆試編程題】編碼

題目描述:

假定一種編碼的編碼范圍是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;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。