【算法系列 - LeetCode】Fizz Buzz 问题
AwesomeDevin opened this issue · comments
题目
给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:
- 如果这个数被3整除,打印fizz
- 如果这个数被5整除,打印buzz.
- 如果这个数能同时被3和5整除,打印fizz buzz.
- 如果这个数既不能被 3 整除也不能被 5 整除,打印数字本身。
比如 n = 15, 返回一个字符串数组:
[
"1", "2", "fizz",
"4", "buzz", "fizz",
"7", "8", "fizz",
"buzz", "11", "fizz",
"13", "14", "fizz buzz"
]
JS实现1
const fn = function (n) {
let arr = []
if(n%3 === 0 && n%5 === 0&&n!=0)
{
arr.push('fizz buzz')
}
else if(n%3 === 0&&n!=0)
{
arr.push('fizz')
}
else if(n%5 === 0&&n!=0)
{
arr.push('buzz')
}
else if(n!=0){
arr.push(n.toString())
}
if(n>1)
{
return [...arr,...fn(n-1)]
}
return arr
}
JS实现2
const fizzBuzz = function(n){
const arr = []
for(var i =1;i<=n;i++)
{
if(i%3 === 0 && i%5 === 0)
{
arr.push('fizz buzz')
}
else if(i%3 === 0)
{
arr.push('fizz')
}
else if(i%5 === 0)
{
arr.push('buzz')
}
else{
arr.push(i.toString())
}
}
return arr
}