2013-03-10 13 views

回答

1

首先你要电话号码指定给每个字母:

A = 0; B = 1; C = 2 ....

那么你应用功能的数字你并转换回字母:

N将是13,那么13 * 3 = 39,+ 7 = 46 然后MOD 26 = 20

转换回,20 = U

如果你做你的句子的所有字母,你将有加密的形式

,这里的C#代码来做到这一点:

private static string encrypt(string s) 
    { 
     char[] tmp = new char[s.Length]; 
     int i = 0; 

     foreach (char c in s) 
     { 
      tmp[i] = (char)((((c - 'A') * 3 + 7) % 26) + 'A'); 
      i++; 
     } 

     return new string(tmp); 
    } 

,在这里您解密函数(确定这个人是凌乱的,但工程):

private static string decrypt(string s) 
    { 
     string res = s; 
     for (int i = 0; i < 5; i++) 
      res = encrypt(res); 

     return res; 
    } 
+0

感谢...你在哪里申请20获得ü?这正是我不明白 – Ris 2013-03-10 18:33:17

+0

只写从A到Z的所有字母,并写在他们面前的数字(从0开始),你会看到U将有20个在它前面 – ppetrov 2013-03-10 18:34:30