1. 程式人生 > >計蒜客 簡單密碼破解

計蒜客 簡單密碼破解

密碼是我們生活中非常重要的東東,我們的那麼一點不能說的祕密就全靠它了。接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。假設淵子原來一個 BBS 上的密碼為zvbo941987,為了方便記憶,他通過一種演算法把這個密碼變換成YUANzi1987,這個密碼是他的名字和出生年份,怎麼忘都忘不了,而且可以明目張膽地放在顯眼的地方而不被別人知道真正的密碼。他是這麼變換的,大家都知道手機上的字母:1-1, abc-2, def-3, ghi-4, jkl-5, mno-6, pqrs-7, tuv-8, wxyz-9, 0-011,abc2,def3,ghi4,jkl5,mno6,pqrs

7,tuv8,wxyz9,00,就這麼簡單,淵子把密碼中出現的小寫字母都變成對應的數字,數字和其他的符號都不做變換,宣告:密碼中沒有空格,而密碼中出現的大寫字母則邊成小寫之後往後移一位,如:XX,先邊成小寫,再往後移一位,不就是y了嘛,簡單吧。記住,zz 往後移是 aa 哦。

輸入格式

輸入包括多個測試資料。輸入是一個明文,密碼長度不超過 100100 個字元,輸入直到檔案結尾。

輸出格式

輸出淵子真正的密文。

樣例輸入

YUANzi1987

樣例輸出

zvbo941987
水題
#include<cstdio>
#include<cstring>
int main()
{
    char s[110];
    while(~scanf("%s",s))
    {
        int k=strlen(s);
        for(int i=0;i<k;i++)
        {
            if(s[i]>='A'&&s[i]<='Z')
            {
                if(s[i]=='Z')
                    printf("a");
                else
                    printf("%c",s[i]+32+1);
            }
            if(s[i]>='0'&&s[i]<='9')
                printf("%c",s[i]);
            if(s[i]>='a'&&s[i]<='z')
            {
                if(s[i]>='a'&&s[i]<='c')
                    printf("2");
                if(s[i]>='d'&&s[i]<='f')
                    printf("3");
                if(s[i]>='g'&&s[i]<='i')
                    printf("4");
                if(s[i]>='j'&&s[i]<='l')
                    printf("5");
                if(s[i]>='m'&&s[i]<='o')
                    printf("6");
                if(s[i]>='p'&&s[i]<='s')
                    printf("7");
                if(s[i]>='t'&&s[i]<='v')
                    printf("8");
                if(s[i]>='w'&&s[i]<='z')
                    printf("9");
            }
        }
        printf("\n");
    }
    return 0;
}