學習軌道
/
C#
C#
/
練習
/
倍數之和
倍數之和

倍數之和

簡單

簡介

你在一間製作線上奇幻生存遊戲的公司工作。

玩家完成一個關卡時,會獲得能量點數。 能獲得多少能量點數,取決於玩家在探索該關卡時找到了哪些魔法道具。

說明

你的任務是寫出一段程式碼,計算玩家完成一個關卡時所獲得的能量點數。

獲得的點數取決於兩件事:

  • 玩家完成的關卡(一個數字)。
  • 玩家在該關卡中收集到的每個魔法道具的基礎值。

能量點數依照以下規則發放:

  1. 針對每個魔法道具,取其基礎值,並找出所有小於關卡數字的該值倍數。
  2. 將這些數字集合合併起來。
  3. 移除任何重複的數字。
  4. 計算剩下所有數字的總和。

我們來看一個例子:

玩家完成了第 20 關,並找到兩個基礎值分別為 3 和 5 的魔法道具。

要計算玩家獲得的能量點數,我們需要找出所有小於第 20 關、且是這些基礎值的倍數,而且不重複的數字。

  • 小於 20 的 3 的倍數:{3, 6, 9, 12, 15, 18}
  • 小於 20 的 5 的倍數:{5, 10, 15}
  • 合併這些集合並移除重複:{3, 5, 6, 9, 10, 12, 15, 18}
  • 將這些不重複的倍數相加:3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
  • 因此,玩家完成第 20 關並找到兩個基礎值為 3 和 5 的魔法道具,可獲得78點能量點數。

提示

這個練習需要你處理一組資料。你可以使用 LINQ(Language Integrated Query,語言整合查詢)來簡化程式碼。 想了解更多資訊,請參考這個頁面。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
C# Exercism

準備好開始 倍數之和 了嗎?

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