Week3:hw2 水仙花數


Posted by rockyooooooo on 2021-04-19

水仙花數,又叫做自戀數(Narcissistic Number),指一個 N 位非負整數,其各位數字的 N 次方和等於該數本身
例如:
$153 = 1^3 + 5^3 + 3^3$
$1634 = 1^4 + 6^4 + 3^4 + 4^4$

一開始看到這個題目,先是覺得水仙花數很有趣,但到了要解題目時,又開始覺得沒有頭緒。
於是我將題目拆分成較小的目標後,將每個目標逐步完成,

主要分三個步驟:

  1. 判斷數字是幾位數(假設為 N 位數)
  2. 把數字的每一位數分開,並存放到一個 array 存放,ex:153 -> [1, 5, 3]
  3. 把數字的每一位數分別乘上 N,加總後與原數比對是否相等

這樣拆分後,連 code 都可以按照這樣的方式,分成三個函式,分別處理不一樣的問題
讓整個程式碼變得乾淨許多,增加可讀性


看了作業的自我檢討後
發現把數字用字串處理好像很多好處 XD
第一個步驟只要看字串長度就好了
第二個步驟更可以直接省略










Related Posts

[PySide6]QMainWindow - 功能表

[PySide6]QMainWindow - 功能表

Laravel 7 passing collection to anonymous components

Laravel 7 passing collection to anonymous components

Spring boot系列(四)Controller

Spring boot系列(四)Controller


Comments