给你一个整数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> vstr;
int i=1;
while(i<=n)
{
if(i%3==0&&i%5==0)
{
vstr.push_back("fizz buzz");
}
else if(i%3==0)
{
vstr.push_back("fizz");
}else if(i%5==0)
{
vstr.push_back("buzz");
}else{
char s[10];
sprintf(s,"%d",i);
vstr.push_back(s);
}
i++;
}
return vstr;
}
};
只用一个if暂时没想到,日后有时间再看看吧。