一、题目内容
写一个程序,输出从 1 到 n 数字的字符串表示。
-
如果 n 是3的倍数,输出“Fizz”;
-
如果 n 是5的倍数,输出“Buzz”;
-
如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15,
返回:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]
二、解题思路
- 直接循环1~n,判断当前循环的数是否是3的倍数如果是就输出“Fizz”,如果是5的倍数就输出“Buzz”,如果又是3的倍数又是5的倍数就输出“FizzBuzz”,其他就输出数字本身的字符串实例
代码实现
public class Solution {
public IList<string> FizzBuzz(int n)
{
//存储结果的数组
var result = new string[n];
for (int i = 1; i <= n; i++)
{
//判断是否为3的倍数
if (i % 3 == 0)
{
//判断是否是5的倍数
result[i - 1] = i % 5 == 0 ? "FizzBuzz" : "Fizz";
}
//判断是否是5的倍数
else if (i % 5 == 0)
{
result[i - 1] = "Buzz";
}
else
{
result[i - 1] = i.ToString();
}
}
return result;
}
}