2011年6月9日 星期四

解碼器

內容 :


  在密碼學裡面有一種很簡單的加密方式,就是把明碼的每個字元加上某一個整數K而得到密碼的字元(明碼及密碼字元一定都在ASCII碼中可列印的範圍內)。例如若K=2,那麼apple經過加密後就變成crrng了。解密則是反過來做。這個問題是給你一個密碼字串,請你依照上述的解密方式輸出明碼。


至於在本任務中K到底是多少,請自行參照Sample Input及Sample Output推出來吧!相當簡單的。


輸入說明 :
每筆測試資料一列。每列有1個字串,就是需要解密的明碼。
輸出說明 :
對每一測試資料,請輸出解密後的密碼。
範例輸入 :


1JKJ'pz'{ol'{yhklthyr'vm'{ol'Jvu{yvs'Kh{h'Jvywvyh{pvu5
1PIT'pz'h'{yhklthyr'vm'{ol'Pu{lyuh{pvuhs'I|zpulzz'Thjopul'Jvywvyh{pvu5


範例輸出 :


*CDC is the trademark of the Control Data Corporation.
*IBM is a trademark of the International Business Machine Corporation.

4 則留言:

  1. Dim na, a
    Private Sub Form_Load()
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    Do While Not EOF(1)
    na = ""
    Line Input #1, a
    For i = 1 To Len(a)
    na = na & Chr(Asc(Mid(a, i, 1)) - 7)
    Next
    Print #2, na
    Loop
    Close
    Close
    End
    End Sub

    回覆刪除
  2. 大家可以試試這組:

    版璋祀反怨
    圳硿匈勝椎刀(

    回覆刪除
  3. Private Sub Form_Load()
    Dim N As String
    Dim ans As String
    Me.Hide
    Open App.Path & "\in.txt" For Input As #1
    Open App.Path & "\out.txt" For Output As #2
    K = -7

    Do While Not EOF(1)
    ans = ""
    Line Input #1, N

    For i = 1 To Len(N)
    ans = ans & Chr(Asc(Mid(N, i, 1)) - 7)
    Next i

    Print #2, ans
    Loop
    Close #2
    Close #1



    End
    End Sub


    輸入:
    版璋祀反怨
    圳硿匈勝椎刀(

    輸出:
    炎熱的午後
    吃碗冰最棒了!

    回覆刪除
  4. arro,佑好,
    你們的程式都OK。

    回覆刪除