给你一个整数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"
]
挑战
你是否可以只用一个 if
来实现
class Solution {
public:
/**
* @param n: An integer
* @return: A list of strings.
*/
vector<string> fizzBuzz(int n)
{
// write your code here
vector<string> ret;
if( n <= 0)
{
return ret;
}
int i = 1;
for(i = 1; i <= n; i++)
{
string tmp;
if( i % 3 == 0 && i % 5 == 0)
{
tmp = "fizz buzz";
}
else if( i % 3 == 0)
{
tmp = "fizz";
}
else if( i % 5 == 0)
{
tmp = "buzz";
}
else
{
tmp = std::to_string(i);
}
ret.push_back(tmp);
}
return ret;
}
};