# 計算 21 點的點數
## 題目:
撰寫一支 function, 傳入三個型別為 int 的參數- card1, card2, card3
如果它們的總和小於或等於 21,返回他們的總和。
如果他們的總和超過 21,並且有一個 11,將總和減少 10。
最後,如果總和(即使在調整後)超過 21,則返回“BUST”
### 限制
card1 ~ card3的值介於 [1,11]
### 解法
``` CSharp
Console.WriteLine(BlackJack.Display(1,2,3) == "6"); // 6
Console.WriteLine(BlackJack.Display(7,7,7) == "21"); // 21
Console.WriteLine(BlackJack.Display(10,10,10) == "BUST"); // 30=>BUST
Console.WriteLine(BlackJack.Display(10,10,11) == "21"); // 31 -10=>21
Console.WriteLine(BlackJack.Display(11,11,10)== "BUST"); // 32-10=22 =>BUST
public class BlackJack
{
public static string Display(int card1, int card2, int card3)
{
int[] cards = new int[] { card1, card2, card3 };
int sum = cards.Sum();
if (sum > 21 && cards.Any(c => c == 11)) sum -= 10;
return sum <= 21 ? sum.ToString() : "BUST";
}
}
````
---
###### tags: `LINQ`