2013-03-10 2 views

답변

1

을 얻었는지 나에게 설명해주십시오 수 :

A = 0; B = 1;

N 그래서 13 * 3 = 39 + 7 = 46 다음, 13이 될 것이다 : C = 2 ....

는 당신은 당신이 얻을와 문자로 다시 변환 숫자에 함수를 적용 당신이 당신의 문장의 모든 문자에 그것을 할 경우 = 20

모드 (26)가 다시 변환, 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

덕분에 ... 당신이 U를 얻기 위해 (20)을 적용 않았다 어디? 그게 정확히 내가 이해하지 못했던 것입니다. – Ris

+0

A부터 Z까지의 모든 문자를 쓰고 그 앞에 숫자 (0부터 시작)를 쓰면 U가 앞에 20 개가있을 것입니다. – ppetrov

관련 문제