[演算法] Fizz Buzz
@([Udemy] Learning Algorithms in JavaScript from Scratch)[algorithm, javaScript]
此系列筆記主要依照 [Udemy] Learning Algorithms in JavaScript from Scratch by Eric Traub 的課程脈絡加以整理,但部分程式碼是消化後以自己較易理解的方式重新撰寫,因此和原課程內容有些出入。
問題描述
透過一個 fizzBuzz
函式,裡面代入參數 num
- 會輸出從 1 ~ num 的數值
- 但若這個輸出的數值是 3 的倍數,則輸出
fizz
- 但若這個輸出的數值是 5 的倍數,則輸出
buzz
- 但若這個輸出的數值同時是 3 和 5 的倍數,則輸出
fizzBuzz
function fizzBuzz (num) {...}
fizzBuzz(20)
期望結果:
所須知識
Modulus Operator(餘數運算子)
10 % 3; // 1
12 % 5; // 2
程式示範
/**
* FizzBuzz Algorithm
**/
function fizzBuzz(num) {
for (let i = 1; i <= num; i++) {
if (i % 15 === 0) {
console.log('fizzBuzz');
} else if (i % 3 === 0) {
console.log('fizz');
} else if (i % 5 === 0) {
console.log('buzz');
} else {
console.log(i);
}
}
}
fizzBuzz(20);
資訊
fizzBuzz Algorithm @ Repl.it