Thuật toán mã hóa Caesar là gì? Mọi người có thể tham khảo tại đây.
Mã hóa Caesar với bước nhảy bằng 3, được biểu diễn:
Bây giờ tôi xin vào thẳng code luôn cho không mất thời gian, học bằng code là cách học tốt nhất!!!
Còn về ý tưởng của bài giải thì mọi người có thể tự tìm hiểu tại đây
#include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> #define SIZE 100 int Mahoa_Ceaser(char *Str_Nguon,char *Str_Mahoa,int len,int key); int Giaima_Ceaser(char Str_Nguon[],char Str_Giaima[],int len,int key); int khoitao(char Str[]); void main() { char Str[SIZE],Str_Mahoa[SIZE],Str_Giaima[SIZE]; int len,key; printf("Nhap chuoi: "); flushall(); gets(Str); printf("Nhap so buoc nhay: "); scanf("%d",&key); len=strlen(Str); khoitao(Str_Mahoa); khoitao(Str_Giaima); Mahoa_Ceaser(Str,Str_Mahoa,len,key); Giaima_Ceaser(Str,Str_Giaima,len,key); printf("Chuoi %s duoc ma hoa thanh: %s\n",Str,Str_Mahoa); printf("Chuoi %s duoc giai ma thanh: %s\n",Str,Str_Giaima); getch(); } int Mahoa_Ceaser(char Str_Nguon[],char Str_Mahoa[],int len,int key) { for (int i=0;i<len;i++) { char c=Str_Nguon[i]; if(c>='A' && c<='Z') Str_Mahoa[i]=(Str_Nguon[i]-'A'+key)%26 +'A'; else if(c>='a' && c<='z') Str_Mahoa[i]=(Str_Nguon[i]-'a'+key)%26+'a'; else Str_Mahoa[i]=Str_Nguon[i]; } return 0; } int khoitao(char Str[]) { for(int i=0;i<SIZE;i++) Str[i]=0; return 0; } int Giaima_Ceaser(char Str_Nguon[],char Str_Giaima[],int len,int key) { for (int i=0;i<len;i++) { char c=Str_Nguon[i]; if(c>='A' && c<='Z') Str_Giaima[i]=(abs(Str_Nguon[i]-'A'-key))%26 +'A'; else if(c>='a' && c<='z') Str_Giaima[i]=(abs(Str_Nguon[i]-'a'-key))%26+'a'; else Str_Giaima[i]=Str_Nguon[i]; } return 0; } |
viết bởi nmT
Sign up here with your email
6 nhận xét
Write nhận xétThank you for mentioning my article :)
Replycảm ơn bạn nhiều nha, mới học Thuật toán này nên chưa biết viết sao nữa :))
Replythánh code
Replycode này vẫn chạy sai bạn yêu ơi!
ReplyXin giúp em mã hóa số này với, e ko hiểu: 20-8-9-16-5-22-3-2-11-22-3-14-8-9
ReplyMã được mã hóa 3 lần và bước dịch chuyển là 4.
Casino near San Francisco - MapYRO
ReplyCasino near San Francisco. 세종특별자치 출장안마 Use the 논산 출장안마 interactive seating chart 하남 출장샵 to see 춘천 출장안마 more than 17534 slot machines and more than 2000 table games. View map. 충청북도 출장안마 RAT
ConversionConversion EmoticonEmoticon