切換
舊版
前往
大廳
主題

ZeroJudge - d442: 10591 - Happy Number 解題心得

Not In My Back Yard | 2019-03-29 22:59:27 | 巴幣 0 | 人氣 294

題目連結:


題目大意:
快樂數可以定義為:給定一正整數 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 是否為一快樂數。詳細見範例輸出。



範例輸入:
3
7
4
13


範例輸出:
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 補充:這題的心得有更多的講解,可以參考看看。

此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。

創作回應

相關創作

更多創作