テンセント2017秋募集筆記試験のプログラミング問題--コード
1758 ワード
1つの符号化の符号化範囲がa~yの25文字であり、1ビットから4ビットの符号化であると仮定し、この符号化を辞書順に並べ替えると、a,aaa,aaaaa,aaab,aaac,...,b,ba,baa,baaaa,baab,baac,...,yyyyw,yyyyx,yyyyyのうちaのIndexは0,aaaのIndexは1,aaaのIndexは2となる配列が形成される.関数を記述する、入力は任意の符号化であり、この符号化に対応するIndexを出力する.
説明を入力:
符号化文字列を入力、文字列の長さは100以下である.
出力の説明:
この符号化のindexを出力する
例1
入力
baca
しゅつりょく
16331
構想:2層forサイクル、1層の符号化長、1層の現在のビット数、法則を探してこの符号化がn*25^jを加えるたびに、nは現在のビットアルファベット符号化が何番目かで、jは現在のビット数の何番目かであることを発見した.
説明を入力:
符号化文字列を入力、文字列の長さは100以下である.
出力の説明:
この符号化のindexを出力する
例1
入力
baca
しゅつりょく
16331
構想:2層forサイクル、1層の符号化長、1層の現在のビット数、法則を探してこの符号化がn*25^jを加えるたびに、nは現在のビットアルファベット符号化が何番目かで、jは現在のビット数の何番目かであることを発見した.
#include
#include
#include
using namespace std;
int main(){
string s;
cin>>s;
int len=s.length();
int index=0;
for(int i=0;iint n=s[i]-'a';
for(int j=0;j<4-i;j++){
index+=n*pow(25,j);
}
}
cout<1<return 0;
}