題目連結:
題目大意:
快樂數可以定義為:給定一正整數 N ,求其每一位數的平方之總和 S ;再求 S 每一位數之總和……以此類推。若途中出現了等於 1 的數字,則原本的 N 即為快樂數。
例如: 7 是一個快樂數,因為 7 → 49 → 97 →130 → 10 → 1。
但是 4 是一個不快樂數,因為 4 → 16 → 37 → 58 → 89 → 145 → 42 → 20 → 4,永遠也無法產生 1。
第一列輸入給定一正整數,代表接著有多少列的測試資料。每列給定一正整數 N (N < 10 ^ 9),求 N 是否為一快樂數。詳細見範例輸出。
Case #1: 7 is a Happy number.
Case #2: 4 is an Unhappy number.
Case #3: 13 is a Happy number.
可以看到當一個數字不是快樂數,其在求各個位數的平方和的時候,中途會出現一樣的數字,代表循環了,所以無法到達數字 1 。
因此,每當給定一個 N 就一直取位數平方和,直到碰到 1 ;或是出現了前面有出現過的數字,代表 N 不是快樂數。
\\2021 / 03 / 31 補充:
這題的心得有更多的講解,可以參考看看。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。