moea_joint_essay
114年
[資訊] 資訊管理、程式設計
第 四 題
定義「快樂數」為一個正整數 N 經過以下過程:
1. 將 N 的每一位數字平方後相加,得到新數字。例如:25 → 2×2+5×5=29
2. 重複此步驟,直到出現下述其中一種結果:
① 得到 1,則 N 是快樂數
② 進入循環(例如:4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4),則 N 非屬快樂數
請設計一函式 isHappy(int n),並註明所使用的程式語言:(15 分)
輸入:正整數 n (1 ≤ n ≤ 10^9)
輸出:若 n 是快樂數,回傳 true;否則回傳 false
1. 將 N 的每一位數字平方後相加,得到新數字。例如:25 → 2×2+5×5=29
2. 重複此步驟,直到出現下述其中一種結果:
① 得到 1,則 N 是快樂數
② 進入循環(例如:4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4),則 N 非屬快樂數
請設計一函式 isHappy(int n),並註明所使用的程式語言:(15 分)
輸入:正整數 n (1 ≤ n ≤ 10^9)
輸出:若 n 是快樂數,回傳 true;否則回傳 false
📝 此題為申論題
思路引導 VIP
利用迴圈計算各個位數的平方和,並使用 HashSet 等資料結構來記錄出現過的數字,以偵測是否陷入循環,語言任選 (例如 Java 或 Python)。