a009 - 解碼器
題目描述
題目要求將輸入的密碼字串解密,解密方式是將每個字元的 ASCII 碼減去一個固定的值 K。題目暗示 K 的值可以從範例輸入輸出推導出來。
解題思路
觀察範例輸入輸出,可以發現密碼字元與明文字元之間存在固定的偏移量。例如,如果輸入 'h',輸出 'a',則偏移量為 'h' - 'a' = 7。因此,解密過程就是將每個密碼字元的 ASCII 碼減去 7。程式碼直接讀取輸入的字元,減去 7,然後輸出結果。
複雜度分析
- 時間複雜度: O(n),其中 n 是輸入字串的長度。因為程式碼需要遍歷輸入字串中的每個字元。
- 空間複雜度: O(1),程式碼只使用了常數級別的額外空間。
程式碼
#include <iostream>
using namespace std;
int main (){
char a[1];
while(cin >> a[0]){
a[0]-=7;
cout << a[0];
}
}