题目描述:
给你一个整数n. 从 1 到 n 按照下面的规则打印每个数:
1. 如果这个数被3整除,打印fizz;
2. 如果这个数被5整除,打印buzz;
3. 如果这个数能同时被3和5整除,打印fizz buzz;
4. 如果这个数既不能被3整除,也不能被5整除,打印它本身。
思路:
先判断能否被15整除,然后判断被3整除,然后判断被5整除。注意跳过0。
代码:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
vector<string> fizzbuzz(int n)
{
vector<string> result;
for(int i = 1; i <= n; i++)
{
if(i % 15 == 0)
result.push_back("fizz buzz");
else if(i % 5 == 0)
result.push_back("buzz");
else if(i % 3 == 0)
result.push_back("fizz");
else
result.push_back(to_string(i)); //将int数字转换成string型
}
return result;
}
int main()
{
vector<string> vec;
vec = fizzbuzz(15);
for(vector<string>::iterator iter = vec.begin(); iter != vec.end(); iter++)
{
cout << *iter << endl;
}
system("pause");
return 0;
}