計蒜客 簡單密碼破解
阿新 • • 發佈:2019-01-30
密碼是我們生活中非常重要的東東,我們的那麼一點不能說的祕密就全靠它了。接下來淵子要在密碼之上再加一套密碼,雖然簡單但也安全。假設淵子原來一個 BBS 上的密碼為zvbo941987
,為了方便記憶,他通過一種演算法把這個密碼變換成YUANzi1987
,這個密碼是他的名字和出生年份,怎麼忘都忘不了,而且可以明目張膽地放在顯眼的地方而不被別人知道真正的密碼。他是這麼變換的,大家都知道手機上的字母:1−1,abc−2,def−3,ghi−4,jkl−5,mno−6,pqrs −7,tuv−8,wxyz−9,0−0,就這麼簡單,淵子把密碼中出現的小寫字母都變成對應的數字,數字和其他的符號都不做變換,宣告:密碼中沒有空格,而密碼中出現的大寫字母則邊成小寫之後往後移一位,如:X,先邊成小寫,再往後移一位,不就是y了嘛,簡單吧。記住,z 往後移是 a 哦。
輸入格式
輸入包括多個測試資料。輸入是一個明文,密碼長度不超過 100 個字元,輸入直到檔案結尾。
輸出格式
輸出淵子真正的密文。
樣例輸入
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; }