# [412. Fizz Buzz](https://leetcode.com/problems/fizz-buzz/) # 思路 这题很简单,我们可以用for循环从i=1到i=n,然后判断i是否是3或者5的倍数。 评论区说因为取余操作`%`比较费时,所以我们应该避免取余,下面代码给出了两种避免取余的思路,亲测确实比直接取余要快一点点。 # C++ ``` C++ class Solution { public: vector fizzBuzz(int n) { vectorres(n); for(int i = 1; i <= n; i++) res[i-1] = to_string(i); for(int i = 2; i < n; i+=3) res[i] = "Fizz"; for(int i = 4; i < n; i+=5) res[i] = "Buzz"; for(int i = 14; i < n; i+=15) res[i] = "FizzBuzz"; return res; } }; ``` ``` C++ class Solution { public: vector fizzBuzz(int n) { vectorres(n); int fizz = 3, buzz = 5; for(int i = 1; i <= n; i++){ if(i == fizz){ res[i-1] = "Fizz"; fizz += 3; if(i == buzz){ buzz += 5; res[i-1] += "Buzz"; } } else if(i == buzz){ buzz += 5; res[i-1] = "Buzz"; } else res[i-1] = to_string(i); } return res; } }; ```