雨滴

雨滴

簡單

簡介

雨滴是 FizzBuzz 挑戰稍微複雜一點的版本,也是經典的面試題目喔。

說明

你的任務是把一個數字轉換成對應的雨滴聲。

如果給定的數字:

  • 可以被 3 整除,就在結果中加上 "Pling"。
  • 可以被 5 整除,就在結果中加上 "Plang"。
  • 可以被 7 整除,就在結果中加上 "Plong"。
  • 不能被 3、5 或 7 整除,結果就應該是該數字轉成的字串。

範例

  • 28 可以被 7 整除,但不能被 3 或 5 整除,所以結果會是"Plong"。
  • 30 可以被 3 和 5 整除,但不能被 7 整除,所以結果會是"PlingPlang"。
  • 34 不能被 3、5 或 7 整除,所以結果會是"34"。
Note

要測試一個數字能否被另一個數字整除,常見的做法是把餘數或模數拿來跟零比較。 大多數程式語言都為其中一種(或兩種)提供了運算子或函式。

提示

  • 用通用的方式來思考這題。如果你熟悉 (fizz buzz)[https://en.wikipedia.org/wiki/Fizz_buzz] 問題,就會發現這題很類似,只是條件有 3 個而不是 2 個。想一想,如果有一天我們想把雨滴的種類擴充到 4 種、5 種,甚至 10 種,你會怎麼實作呢?
透過 GitHub 編輯 連結會在新視窗或分頁中開啟
F# Exercism

準備好開始 雨滴 了嗎?

註冊 Exercism,透過 18 個概念148 個練習 和真人引導來學習並精通 F#,全部免費。

深入探索 雨滴!

探索各種解法,包括函數式管線、矩陣乘法、用巨集預先計算表格的解法、物件導向做法、Python 與 TCL 的精彩應用,以及企業版。