初级算法探索——数学篇(一)
问题:Fizz Buzz
写一个程序,输出从 1 到 n 数字的字符串表示。
1.如果 n 是3的倍数,输出“Fizz”;
2.如果 n 是5的倍数,输出“Buzz”;
3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。
示例:
n = 15,
返回:
[
"1",
"2",
"Fizz",
"4",
"Buzz",
"Fizz",
"7",
"8",
"Fizz",
"Buzz",
"11",
"Fizz",
"13",
"14",
"FizzBuzz"
]
js解决办法:
/**
* @param {number} n
* @return {string[]}
*/
// 思路:取模然后字符串拼接
var fizzBuzz = function(n) {
var transStrList = [];
if (n < 1) {
return transStrList;
}
for (var i = 1; i <= n; i++) {
var newStr = "";
if (i%3 == 0) {
newStr += "Fizz";
}
if (i%5 == 0) {
newStr += "Buzz";
}
if (newStr == "") {
newStr = i.toString();
}
transStrList.push(newStr);
}
return transStrList;
};
运行结果截图:
执行耗时: