単純なパスワードアルゴリズム

タイトル説明

パスワードは、私たちの生活のものに非常に重要ですので、我々はそれの秘密のゲームと言うことはできません。ハハすごい。パスワードに深いパスワードを使用して結合される次の子供は単純だが安全です。

 

子供がBBSに深いパスワードは、覚えやすいzvbo9441987で持っていたと仮定すると、彼はYUANzhi1987にパスワードを入れアルゴリズムは、このパスワードは、どのように、忘れて忘れて彼の名前と誕生年であるだけでなく、露骨に入れて渡されますすることなく、目立つ場所の人々は、実際のパスワードを知っています。

 

彼はとても私たちは皆知っている、変換され、その電話上の文字:1-1、 ABC - 2、DEF - 3、GHI - 4、JKL - 5、MNO - 6、PQRS - 7、TUV WXYZ --8 - 9、0-0、それは、対応する図面に表示され、簡単な、ディープ・サブ小文字のコードがなっている、数字や他の記号は変換しないことです

 ヒントは:-2、B-2、C-2である、赤い部分が文字列ではないことに留意されたいです。このピットの父のタイトル

免責事項:そこには空白のパスワードはありません、と大文字で表示されたパスワードは小文字の後に戻って移動してしまう、といった:X、小文字に最初に、再び1を移動し、ないシンプルYまあ、それ。、zはああ戻って移動したのを覚えています。

 

説明を入力します。

入力テストデータを複数含みます。入力ファイルの終わりまで、100文字よりもはや平文パスワードを入力しません

出力説明:

ディープサブ実際の出力暗号文

例1

エントリー

コピー
YUANzhi1987

輸出

コピー
zvbo9441987 

参照ディスカッション:
リンク:https://www.nowcoder.com/questionTerminal/7960b5038a2142a18e27e4c733855dac?f=discussion
出典:牛オフネットワーク

#include<iostream>
#include<string>
using namespace std;
const string dict1= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" ;
const string dict2= "bcdefghijklmnopqrstuvwxyza22233344455566677778889999" ;
 
char Char_Change( char a){
     for ( int i=0;i<dict1.size();i++)
         if (dict1[i]==a) return dict2[i];
     return a;
}
 
int main(){
     //string data="YUANzhi1987";
     string data;
     while (getline(cin,data)){
         for ( int i=0;i<data.size();i++)
             data[i] = Char_Change(data[i]);
         cout<<data<<endl;
     }
     return 0;
}
 
 
 
 

おすすめ

転載: www.cnblogs.com/liuruoqian/p/11671034.html