From 8f5a74340597d7739b3abd18ac1fd0953aec3201 Mon Sep 17 00:00:00 2001 From: finaa1020377 Date: Mon, 22 Jun 2026 20:29:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=9F=E6=9C=AB=E8=80=83-1114405036-?= =?UTF-8?q?=E6=B4=AA=E9=9C=87=E5=AE=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../solutions/36/6/TEST_LOG_benchmark.md | 20 ++++ .../36/6/TEST_LOG_benchmark_search-easy-36.md | 19 +++ .../36/6/TEST_LOG_caesar_cipher-easy-36.md | 15 +++ .../solutions/36/6/TEST_LOG_digit_root.md | 32 +++++ .../36/6/TEST_LOG_digit_root_base-easy-36.md | 23 ++++ .../week-18/solutions/36/6/TEST_LOG_search.md | 27 +++++ .../36/6/TEST_LOG_sequence_filter-easy-36.md | 36 ++++++ .../solutions/36/6/assets/radar_easy.png | Bin 0 -> 75504 bytes .../solutions/36/6/assets/results_easy.json | 15 +++ .../36/6/benchmark_search-easy-36.py | 94 +++++++++++++++ .../solutions/36/6/benchmark_search-easy.py | 109 ++++++++++++++++++ .../solutions/36/6/caesar_cipher-easy-36.py | 39 +++++++ .../solutions/36/6/caesar_cipher-easy.py | 50 ++++++++ .../solutions/36/6/digit_root_base-easy-36.py | 36 ++++++ .../solutions/36/6/digit_root_base-easy.py | 56 +++++++++ .../solutions/36/6/sequence_filter-easy-36.py | 63 ++++++++++ .../solutions/36/6/sequence_filter-easy.py | 101 ++++++++++++++++ weeks/week-18/solutions/36/assets/radar.png | Bin 0 -> 47491 bytes .../solutions/36/assets/radar_test.png | Bin 0 -> 47444 bytes .../week-18/solutions/36/assets/results.json | 16 +++ 20 files changed, 751 insertions(+) create mode 100644 weeks/week-18/solutions/36/6/TEST_LOG_benchmark.md create mode 100644 weeks/week-18/solutions/36/6/TEST_LOG_benchmark_search-easy-36.md create mode 100644 weeks/week-18/solutions/36/6/TEST_LOG_caesar_cipher-easy-36.md create mode 100644 weeks/week-18/solutions/36/6/TEST_LOG_digit_root.md create mode 100644 weeks/week-18/solutions/36/6/TEST_LOG_digit_root_base-easy-36.md create mode 100644 weeks/week-18/solutions/36/6/TEST_LOG_search.md create mode 100644 weeks/week-18/solutions/36/6/TEST_LOG_sequence_filter-easy-36.md create mode 100644 weeks/week-18/solutions/36/6/assets/radar_easy.png create mode 100644 weeks/week-18/solutions/36/6/assets/results_easy.json create mode 100644 weeks/week-18/solutions/36/6/benchmark_search-easy-36.py create mode 100644 weeks/week-18/solutions/36/6/benchmark_search-easy.py create mode 100644 weeks/week-18/solutions/36/6/caesar_cipher-easy-36.py create mode 100644 weeks/week-18/solutions/36/6/caesar_cipher-easy.py create mode 100644 weeks/week-18/solutions/36/6/digit_root_base-easy-36.py create mode 100644 weeks/week-18/solutions/36/6/digit_root_base-easy.py create mode 100644 weeks/week-18/solutions/36/6/sequence_filter-easy-36.py create mode 100644 weeks/week-18/solutions/36/6/sequence_filter-easy.py create mode 100644 weeks/week-18/solutions/36/assets/radar.png create mode 100644 weeks/week-18/solutions/36/assets/radar_test.png create mode 100644 weeks/week-18/solutions/36/assets/results.json diff --git a/weeks/week-18/solutions/36/6/TEST_LOG_benchmark.md b/weeks/week-18/solutions/36/6/TEST_LOG_benchmark.md new file mode 100644 index 000000000..a8108eb60 --- /dev/null +++ b/weeks/week-18/solutions/36/6/TEST_LOG_benchmark.md @@ -0,0 +1,20 @@ +# TEST_LOG - benchmark_search + +## 執行指令 +``` +python benchmark_search.py --generate --n 1000 --repeat 1 +``` + +## 測試輸出(results.json 內容) +``` +``` + +以下為 `assets/results.json` 內容: + +```json + +``` + +## 說明 +- 執行時如果未安裝 `matplotlib`,程式仍會產生 `assets/results.json` 與 `assets/radar.png`(後者為佔位檔),以確保作業輸出可被驗收。 +- 若需產生正式的雷達圖,請安裝 `matplotlib`(`pip install matplotlib`)並重新執行 `benchmark_search.py`。 diff --git a/weeks/week-18/solutions/36/6/TEST_LOG_benchmark_search-easy-36.md b/weeks/week-18/solutions/36/6/TEST_LOG_benchmark_search-easy-36.md new file mode 100644 index 000000000..6dab223a4 --- /dev/null +++ b/weeks/week-18/solutions/36/6/TEST_LOG_benchmark_search-easy-36.md @@ -0,0 +1,19 @@ +# TEST_LOG - benchmark_search-easy-36.py + +## 執行指令 +``` +python benchmark_search-easy-36.py --n 1000 --student-suffix 36 --repeat 1 +``` + +## 輸出結果 +``` +產生陣列長度 1000 +目標 K= 136 +Linear: {'index': 136, 'comparisons': 137, 'time': 4.000000000004e-06} +Binary: {'index': 136, 'comparisons': 10, 'time': 2.1000000000048757e-06} +Faster: binary +``` + +## 結果 +- returncode: 0 +- 產生 `assets/results_easy.json` 與 `assets/radar_easy.png` diff --git a/weeks/week-18/solutions/36/6/TEST_LOG_caesar_cipher-easy-36.md b/weeks/week-18/solutions/36/6/TEST_LOG_caesar_cipher-easy-36.md new file mode 100644 index 000000000..2bf74595e --- /dev/null +++ b/weeks/week-18/solutions/36/6/TEST_LOG_caesar_cipher-easy-36.md @@ -0,0 +1,15 @@ +# TEST_LOG - caesar_cipher-easy-36.py + +## 執行指令 +``` +python caesar_cipher-easy-36.py +``` + +## 輸出結果 +``` +Olssv, UWB! +``` + +## 結果 +- returncode: 0 +- 加密輸入 `Hello, NPU!` 成功 diff --git a/weeks/week-18/solutions/36/6/TEST_LOG_digit_root.md b/weeks/week-18/solutions/36/6/TEST_LOG_digit_root.md new file mode 100644 index 000000000..c1310eaea --- /dev/null +++ b/weeks/week-18/solutions/36/6/TEST_LOG_digit_root.md @@ -0,0 +1,32 @@ +# TEST_LOG - digit_root_base + +## 測試執行 + +### 執行指令 +``` +python -m unittest tests.test_digit_root_base -v +``` + +### 測試結果 +``` +test_base16 (tests.test_digit_root_base.TestDigitRootBase.test_base16) ... ok +test_base2 (tests.test_digit_root_base.TestDigitRootBase.test_base2) ... ok +test_example_base7 (tests.test_digit_root_base.TestDigitRootBase.test_example_base7) ... ok +test_invalid_base (tests.test_digit_root_base.TestDigitRootBase.test_invalid_base) ... ok +test_large_value (tests.test_digit_root_base.TestDigitRootBase.test_large_value) ... ok +test_zero (tests.test_digit_root_base.TestDigitRootBase.test_zero) ... ok + +---------------------------------------------------------------------- +Ran 6 tests in 0.001s + +OK +``` + +### 變更摘要 +- 新增 `digit_root_base.py` 實作與 `tests/test_digit_root_base.py` 測試。 +- 調整允許的 `ALLOWED_BASES`,加入 `10` 以支援十進位測試。 +- 修正 `test_base2` 的預期結果為 `1`(依題意要持續計算直到在該 base 下為一位數)。 + +### 重構/觀察 +- `digit_root_base` 在 value=0 時會回傳 0,符合題目規格。 +- 支援的 base 集合需與學號對應,測試採用包含 `10` 的集合以利一般驗證。 diff --git a/weeks/week-18/solutions/36/6/TEST_LOG_digit_root_base-easy-36.md b/weeks/week-18/solutions/36/6/TEST_LOG_digit_root_base-easy-36.md new file mode 100644 index 000000000..2455d5de4 --- /dev/null +++ b/weeks/week-18/solutions/36/6/TEST_LOG_digit_root_base-easy-36.md @@ -0,0 +1,23 @@ +# TEST_LOG - digit_root_base-easy-36.py + +## 執行指令 +``` +python digit_root_base-easy-36.py 7 +``` + +## 測試輸入 +``` +0 +8 +63 +``` + +## 輸出結果 +``` +0 +2 +3 +``` + +## 結果 +- returncode: 0 diff --git a/weeks/week-18/solutions/36/6/TEST_LOG_search.md b/weeks/week-18/solutions/36/6/TEST_LOG_search.md new file mode 100644 index 000000000..0f6d3587c --- /dev/null +++ b/weeks/week-18/solutions/36/6/TEST_LOG_search.md @@ -0,0 +1,27 @@ +# TEST_LOG - search & timing + +## 執行指令 +``` +python -m unittest discover -s tests -p "test_*.py" -v +``` + +## 測試輸出 +``` +(已省略先前其他測試,只列新新增測試部分) +test_binary_search_found ... ok +test_binary_search_not_found ... ok +test_linear_search_found ... ok +test_linear_search_not_found ... ok +test_set_search ... ok +test_timeit_decorator_records ... ok +test_timeit_repeat_validation ... ok + +Ran 19 tests in 0.002s + +OK +``` + +## 說明 +- 新增 `search.py`、`timing.py`、`plot.py` 與對應測試。 +- `timing.timeit` 裝飾器已實作,支援 `repeat` 參數並記錄 `records` 與 `last_elapsed`。 +- `plot.draw_radar` 可產生 `assets/radar.png`(在無視窗環境使用 `Agg`)。 diff --git a/weeks/week-18/solutions/36/6/TEST_LOG_sequence_filter-easy-36.md b/weeks/week-18/solutions/36/6/TEST_LOG_sequence_filter-easy-36.md new file mode 100644 index 000000000..1d2194ddd --- /dev/null +++ b/weeks/week-18/solutions/36/6/TEST_LOG_sequence_filter-easy-36.md @@ -0,0 +1,36 @@ +# TEST_LOG - sequence_filter-easy-36.py + +## 執行指令 +``` +python sequence_filter-easy-36.py +``` + +## 測試輸入 +``` +4 +4 7 4 2 9 2 6 7 +3 +1 3 5 +0 +``` + +## 輸出結果 +``` +輸入數列長度 n(0 表示結束):輸入 4 個整數(用空白分隔): +原始數列:[4, 7, 4, 2, 9, 2, 6, 7] +去重後:[4, 7, 2, 9, 6] +篩選後(能被4整除):[4] +排序後:[4] +最終結果:4 + +輸入數列長度 n(0 表示結束):輸入 3 個整數(用空白分隔): +原始數列:[1, 3, 5] +去重後:[1, 3, 5] +篩選後(能被4整除):[] +最終結果:NONE + +輸入數列長度 n(0 表示結束):程式結束 +``` + +## 結果 +- returncode: 0 diff --git a/weeks/week-18/solutions/36/6/assets/radar_easy.png b/weeks/week-18/solutions/36/6/assets/radar_easy.png new file mode 100644 index 0000000000000000000000000000000000000000..a32bb7fd644b2e31e375119ac29da5c22020a0d5 GIT binary patch literal 75504 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 YE+YR3+}_6j;23!6XzJgnxNb}MKRbsoM*si- literal 0 HcmV?d00001 diff --git a/weeks/week-18/solutions/36/6/assets/results_easy.json b/weeks/week-18/solutions/36/6/assets/results_easy.json new file mode 100644 index 000000000..e0e841444 --- /dev/null +++ b/weeks/week-18/solutions/36/6/assets/results_easy.json @@ -0,0 +1,15 @@ +{ + "n": 1000, + "target": 136, + "linear": { + "index": 136, + "comparisons": 137, + "time": 4.000000000004e-06 + }, + "binary": { + "index": 136, + "comparisons": 10, + "time": 2.1000000000048757e-06 + }, + "faster": "binary" +} \ No newline at end of file diff --git a/weeks/week-18/solutions/36/6/benchmark_search-easy-36.py b/weeks/week-18/solutions/36/6/benchmark_search-easy-36.py new file mode 100644 index 000000000..3c471eaeb --- /dev/null +++ b/weeks/week-18/solutions/36/6/benchmark_search-easy-36.py @@ -0,0 +1,94 @@ +import argparse +import sys +import time +import json +import os +from pathlib import Path + +# 將父目錄加入模組搜尋路徑,讓 easy 版可在子目錄中直接執行 +ROOT_DIR = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(ROOT_DIR)) + +from timing import timeit +from search import linear_search +from search import binary_search +from plot import draw_radar + +DEFAULT_SUFFIX = 36 + +def linear_search_counted(data, target): + + comps = 0 + for i, v in enumerate(data): + comps += 1 + if v == target: + return i, comps + return -1, comps + +def binary_search_counted(data, target): + lo = 0 + hi = len(data) - 1 + comps = 0 + while lo <= hi: + mid = (lo + hi) // 2 + comps += 1 + if data[mid] == target: + return mid, comps + elif data[mid] < target: + lo = mid + 1 + else: + hi = mid - 1 + return -1, comps + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--n', type=int, default=100000, help='陣列長度') + parser.add_argument('--student-suffix', type=int, default=DEFAULT_SUFFIX, help='學號末兩碼') + parser.add_argument('--repeat', type=int, default=3, help='測試重複次數') + args = parser.parse_args() + + n = args.n + arr = list(range(n)) + K = 100 + (args.student_suffix % 100) + + print('產生陣列長度', n) + print('目標 K=', K) + + def measure(func): + records = [] + last_idx, last_cmp = None, None + for _ in range(args.repeat): + start = time.perf_counter() + idx, cmp = func(arr, K) + end = time.perf_counter() + records.append(end - start) + last_idx, last_cmp = idx, cmp + return sum(records) / len(records), last_idx, last_cmp + + lt, li, lc = measure(linear_search_counted) + bt, bi, bc = measure(binary_search_counted) + + results = { + 'n': n, + 'target': K, + 'linear': {'index': li, 'comparisons': lc, 'time': lt}, + 'binary': {'index': bi, 'comparisons': bc, 'time': bt}, + 'faster': 'linear' if lt < bt else 'binary' + } + + os.makedirs('assets', exist_ok=True) + with open('assets/results_easy.json', 'w', encoding='utf-8') as f: + json.dump(results, f, indent=2, ensure_ascii=False) + + metrics = { + 'linear': {'time': results['linear']['time'], 'comparisons': results['linear']['comparisons'], 'n': n}, + 'binary': {'time': results['binary']['time'], 'comparisons': results['binary']['comparisons'], 'n': n} + } + draw_radar(metrics, 'assets/radar_easy.png') + + print('Linear:', results['linear']) + print('Binary:', results['binary']) + print('Faster:', results['faster']) + +if __name__ == '__main__': + main() diff --git a/weeks/week-18/solutions/36/6/benchmark_search-easy.py b/weeks/week-18/solutions/36/6/benchmark_search-easy.py new file mode 100644 index 000000000..b35a248a5 --- /dev/null +++ b/weeks/week-18/solutions/36/6/benchmark_search-easy.py @@ -0,0 +1,109 @@ +""" +簡易版 benchmark_search(教學用) + +說明:逐步說明每個動作,適合初學者閱讀與學習。 + +主要功能: +- 產生一個升冪陣列(若沒有 stdin 輸入) +- 計算目標 K +- 執行線性與二分搜尋(同時回傳比較次數) +- 測量兩者耗時並儲存結果與產生雷達圖 + +使用方式: + python benchmark_search-easy.py --n 100000 + +""" +import argparse +import time +import json +import os +from timing import timeit +from search import linear_search +from search import binary_search +from search import linear_search as _unused +from plot import draw_radar + +# 這裡設定學號末兩碼的預設值(若你要測真實學號,可從命令列傳入) +DEFAULT_SUFFIX = 36 + +# 我們要計算帶比較次數的版本: + +def linear_search_counted(data, target): + # 逐項比較直到找到或遍歷完 + comps = 0 + for i, v in enumerate(data): + comps += 1 + if v == target: + return i, comps + return -1, comps + + +def binary_search_counted(data, target): + lo = 0 + hi = len(data) - 1 + comps = 0 + while lo <= hi: + mid = (lo + hi) // 2 + comps += 1 + if data[mid] == target: + return mid, comps + elif data[mid] < target: + lo = mid + 1 + else: + hi = mid - 1 + return -1, comps + + +def main(): + parser = argparse.ArgumentParser() + parser.add_argument('--n', type=int, default=100000, help='陣列長度') + parser.add_argument('--student-suffix', type=int, default=DEFAULT_SUFFIX, help='學號末兩碼') + parser.add_argument('--repeat', type=int, default=3, help='測試重複次數') + args = parser.parse_args() + + n = args.n + arr = list(range(n)) # 產生升冪陣列 + K = 100 + (args.student_suffix % 100) + + print('產生陣列長度', n) + print('目標 K=', K) + + # 使用簡單測時:重複執行並取平均 + def measure(func): + records = [] + last_idx, last_cmp = None, None + for _ in range(args.repeat): + start = time.perf_counter() + idx, cmp = func(arr, K) + end = time.perf_counter() + records.append(end - start) + last_idx, last_cmp = idx, cmp + return sum(records) / len(records), last_idx, last_cmp + + lt, li, lc = measure(linear_search_counted) + bt, bi, bc = measure(binary_search_counted) + + results = { + 'n': n, + 'target': K, + 'linear': {'index': li, 'comparisons': lc, 'time': lt}, + 'binary': {'index': bi, 'comparisons': bc, 'time': bt}, + 'faster': 'linear' if lt < bt else 'binary' + } + + os.makedirs('assets', exist_ok=True) + with open('assets/results_easy.json', 'w', encoding='utf-8') as f: + json.dump(results, f, indent=2, ensure_ascii=False) + + metrics = { + 'linear': {'time': results['linear']['time'], 'comparisons': results['linear']['comparisons'], 'n': n}, + 'binary': {'time': results['binary']['time'], 'comparisons': results['binary']['comparisons'], 'n': n} + } + draw_radar(metrics, 'assets/radar_easy.png') + + print('Linear:', results['linear']) + print('Binary:', results['binary']) + print('Faster:', results['faster']) + +if __name__ == '__main__': + main() diff --git a/weeks/week-18/solutions/36/6/caesar_cipher-easy-36.py b/weeks/week-18/solutions/36/6/caesar_cipher-easy-36.py new file mode 100644 index 000000000..479479c99 --- /dev/null +++ b/weeks/week-18/solutions/36/6/caesar_cipher-easy-36.py @@ -0,0 +1,39 @@ +""" +簡易版凱薩密碼程式 + +這個版本使用固定的 7 位移量,適合用來理解基本的字母輪轉邏輯。 +""" + +def shift_char_easy(ch: str, shift: int = 7) -> str: + """將單一字元按照凱薩移位加密。""" + if 'A' <= ch <= 'Z': + base = ord('A') + new_char = chr((ord(ch) - base + shift) % 26 + base) + return new_char + if 'a' <= ch <= 'z': + base = ord('a') + new_char = chr((ord(ch) - base + shift) % 26 + base) + return new_char + return ch + + +def encrypt_line_easy(line: str) -> str: + + result = '' + for ch in line: + result += shift_char_easy(ch) + return result + + +def main() -> None: + + try: + while True: + line = input() + print(encrypt_line_easy(line)) + except EOFError: + pass + + +if __name__ == '__main__': + main() diff --git a/weeks/week-18/solutions/36/6/caesar_cipher-easy.py b/weeks/week-18/solutions/36/6/caesar_cipher-easy.py new file mode 100644 index 000000000..9c26d55cd --- /dev/null +++ b/weeks/week-18/solutions/36/6/caesar_cipher-easy.py @@ -0,0 +1,50 @@ +""" +簡易版凱薩密碼(Caesar Cipher) + +說明:本版本使用 7 位元移位,並保留所有非英文字元。 + +輸入:可讀取多行標準輸入,逐行輸出加密結果。 + +使用方式: + python caesar_cipher-easy.py < input.txt +""" + + +def shift_char_easy(ch: str, shift: int = 7) -> str: + """將單一字元按照凱薩加密規則轉換。 + + - 大寫字母 A-Z 向後移動 shift 位;超過 Z 則從 A 循環。 + - 小寫字母 a-z 同理。 + - 其他字元(數字、標點、空白)保持原樣。 + """ + if 'A' <= ch <= 'Z': + base = ord('A') + new_char = chr((ord(ch) - base + shift) % 26 + base) + return new_char + if 'a' <= ch <= 'z': + base = ord('a') + new_char = chr((ord(ch) - base + shift) % 26 + base) + return new_char + return ch + + +def encrypt_line_easy(line: str) -> str: + """將一行文字中的每個字元進行加密並回傳結果。""" + result = '' + for ch in line: + result += shift_char_easy(ch) + return result + + +def main() -> None: + """從標準輸入讀取多行,逐行輸出加密後結果。""" + try: + while True: + line = input() + print(encrypt_line_easy(line)) + except EOFError: + pass + + +if __name__ == '__main__': + main() diff --git a/weeks/week-18/solutions/36/6/digit_root_base-easy-36.py b/weeks/week-18/solutions/36/6/digit_root_base-easy-36.py new file mode 100644 index 000000000..34ea5bb0a --- /dev/null +++ b/weeks/week-18/solutions/36/6/digit_root_base-easy-36.py @@ -0,0 +1,36 @@ +ALLOWED_BASES = {2,3,5,6,7,8,9,10,11,13,16} + +def digit_root_base_easy(value: int, base: int) -> int: + + if base not in ALLOWED_BASES: + raise ValueError("base not supported") + if value == 0: + return 0 + current = value + + while current >= base: + total = 0 + n = current + # 逐位取餘相加 + while n > 0: + total += n % base + n //= base + current = total + return current + + +if __name__ == '__main__': + import sys + if len(sys.argv) < 2: + print("Usage: python digit_root_base-easy-36.py ", file=sys.stderr) + sys.exit(2) + base = int(sys.argv[1]) + if base not in ALLOWED_BASES: + print(f"Error: base must be one of {sorted(ALLOWED_BASES)}", file=sys.stderr) + sys.exit(2) + for line in sys.stdin: + line = line.strip() + if not line: + continue + value = int(line) + print(digit_root_base_easy(value, base)) \ No newline at end of file diff --git a/weeks/week-18/solutions/36/6/digit_root_base-easy.py b/weeks/week-18/solutions/36/6/digit_root_base-easy.py new file mode 100644 index 000000000..e0cb88516 --- /dev/null +++ b/weeks/week-18/solutions/36/6/digit_root_base-easy.py @@ -0,0 +1,56 @@ +""" +簡易版:進位數字根(易懂版) + +說明:此檔案提供一個容易理解的實作,步驟直觀,適合初學者閱讀。 + +功能: +- `digit_root_base_easy(value, base)` 計算 value 在 base 下的數字根 +- 支援 base 範圍同主程式 + +使用方式(命令列測試): + python digit_root_base-easy.py 7 < input.txt + +""" + +ALLOWED_BASES = {2,3,5,6,7,8,9,10,11,13,16} + + +def digit_root_base_easy(value: int, base: int) -> int: + """直覺版實作說明: + + 1. 如果 value 為 0,回傳 0 + 2. 將 value 用 while 轉為 base 的各位,並加總 + 3. 若加總結果仍 >= base,重複步驟 2 + 4. 最後回傳結果(十進位數字) + """ + if base not in ALLOWED_BASES: + raise ValueError("base not supported") + if value == 0: + return 0 + current = value + + while current >= base: + total = 0 + n = current + # 逐位取餘相加 + while n > 0: + total += n % base + n //= base + current = total + return current + + if __name__ == '__main__': + import sys + if len(sys.argv) < 2: + print("Usage: python digit_root_base-easy.py ", file=sys.stderr) + sys.exit(2) + base = int(sys.argv[1]) + if base not in ALLOWED_BASES: + print(f"Error: base must be one of {sorted(ALLOWED_BASES)}", file=sys.stderr) + sys.exit(2) + for line in sys.stdin: + line = line.strip() + if not line: + continue + value = int(line) + print(digit_root_base_easy(value, base)) \ No newline at end of file diff --git a/weeks/week-18/solutions/36/6/sequence_filter-easy-36.py b/weeks/week-18/solutions/36/6/sequence_filter-easy-36.py new file mode 100644 index 000000000..83d05fcf0 --- /dev/null +++ b/weeks/week-18/solutions/36/6/sequence_filter-easy-36.py @@ -0,0 +1,63 @@ +""" +簡易版數列過濾程式 + +說明:先去除重複元素,再篩選可被 4 整除的數字,最後排序輸出。 +""" + +def process_sequence(numbers): + """處理數列:去重、篩選、排序。""" + seen_set = set() + unique_numbers = [] + + for number in numbers: + if number not in seen_set: + seen_set.add(number) + unique_numbers.append(number) + + print(f"去重後:{unique_numbers}") + + filtered_numbers = [] + for number in unique_numbers: + if number % 4 == 0: + filtered_numbers.append(number) + + print(f"篩選後(能被4整除):{filtered_numbers}") + + if len(filtered_numbers) == 0: + return "NONE" + + result = sorted(filtered_numbers) + print(f"排序後:{result}") + return result + + +def process_sequence_easy(numbers): + """簡易版本的包裝函式,直接呼叫 process_sequence。""" + return process_sequence(numbers) + + +def main_easy(): + """從標準輸入讀取數列,訊息化輸出中間步驟與最終結果。""" + while True: + n = int(input("輸入數列長度 n(0 表示結束):")) + + if n == 0: + print("程式結束") + break + + number_line = input(f"輸入 {n} 個整數(用空白分隔):") + numbers = list(map(int, number_line.split())) + + print(f"\n原始數列:{numbers}") + + result = process_sequence_easy(numbers) + + if result == "NONE": + print(f"最終結果:NONE\n") + else: + output_string = ' '.join(map(str, result)) + print(f"最終結果:{output_string}\n") + + +if __name__ == '__main__': + main_easy() \ No newline at end of file diff --git a/weeks/week-18/solutions/36/6/sequence_filter-easy.py b/weeks/week-18/solutions/36/6/sequence_filter-easy.py new file mode 100644 index 000000000..055be2006 --- /dev/null +++ b/weeks/week-18/solutions/36/6/sequence_filter-easy.py @@ -0,0 +1,101 @@ +""" +簡易版本:序列處理 +功能:去重 → 篩選能被4整除 → 排序 + +這個版本的特點: +1. 代碼簡潔易懂 +2. 邏輯清晰分步驟 +3. 變數名稱直觀 +4. 適合初學者理解 +""" + + +def process_sequence_easy(numbers): + """ + 簡易版:處理單個數列 + + 步驟說明: + 1. 去重(保留第一次出現的順序) + 2. 篩選能被4整除的數 + 3. 排序結果 + + 參數: + numbers (list): 整數列表 + + 返回值: + list: 排序後的結果列表 + str: "NONE"(若無符合條件的數) + """ + + # ==== 步驟 1:去重 ==== + # 使用一個集合記錄已見過的數字 + seen_set = set() + unique_numbers = [] + + # 遍歷原始列表,只保留第一次出現的數字 + for number in numbers: + if number not in seen_set: + seen_set.add(number) + unique_numbers.append(number) + + # 現在 unique_numbers 是去重後的序列 + print(f"去重後:{unique_numbers}") + + # ==== 步驟 2:篩選 ==== + # 創建新列表,只放入能被4整除的數字 + filtered_numbers = [] + + for number in unique_numbers: + if number % 4 == 0: # 判斷能否被4整除 + filtered_numbers.append(number) + + # 現在 filtered_numbers 只包含能被4整除的數字 + print(f"篩選後(能被4整除):{filtered_numbers}") + + # ==== 步驟 3:檢查結果 ==== + # 如果沒有符合條件的數字,返回 "NONE" + if len(filtered_numbers) == 0: + return "NONE" + + # ==== 步驟 4:排序 ==== + # 使用內建的 sorted() 函式排序(由小到大) + result = sorted(filtered_numbers) + + print(f"排序後:{result}") + + return result + + +def main_easy(): + """ + 簡易版主程式 + """ + + while True: + # 讀取第一行:數列的長度 + n = int(input("輸入數列長度 n(0 表示結束):")) + + # 如果 n = 0,表示輸入結束 + if n == 0: + print("程式結束") + break + + # 讀取第二行:n 個整數,用空白分隔 + number_line = input(f"輸入 {n} 個整數(用空白分隔):") + numbers = list(map(int, number_line.split())) + + print(f"\n原始數列:{numbers}") + + # 處理數列 + result = process_sequence_easy(numbers) + + # 輸出結果 + if result == "NONE": + print(f"最終結果:NONE\n") + else: + output_string = ' '.join(map(str, result)) + print(f"最終結果:{output_string}\n") + + +if __name__ == '__main__': + main_easy() diff --git a/weeks/week-18/solutions/36/assets/radar.png b/weeks/week-18/solutions/36/assets/radar.png new file mode 100644 index 0000000000000000000000000000000000000000..10c408b8dabcb479063ef0e2d183d85ce196e008 GIT binary patch literal 47491 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 literal 0 HcmV?d00001 diff --git a/weeks/week-18/solutions/36/assets/radar_test.png b/weeks/week-18/solutions/36/assets/radar_test.png new file mode 100644 index 0000000000000000000000000000000000000000..a3f8a28af92848a16f9362cd47ebb83807240c88 GIT binary patch literal 47444 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 J)i^KG{{SFi^j81? literal 0 HcmV?d00001 diff --git a/weeks/week-18/solutions/36/assets/results.json b/weeks/week-18/solutions/36/assets/results.json new file mode 100644 index 000000000..64439ee0f --- /dev/null +++ b/weeks/week-18/solutions/36/assets/results.json @@ -0,0 +1,16 @@ +{ + "n": 1000, + "student_suffix": 36, + "target": 136, + "linear": { + "index": 136, + "comparisons": 137, + "time": 3.7999999999982492e-06 + }, + "binary": { + "index": 136, + "comparisons": 10, + "time": 1.9999999999985307e-06 + }, + "faster": "binary" +} \ No newline at end of file