Write a PRogram that outputs the string representation of numbers from 1 to n.
But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.
Example:
n = 15, Return: [ “1”, “2”, “Fizz”, “4”, “Buzz”, “Fizz”, “7”, “8”, “Fizz”, “Buzz”, “11”, “Fizz”, “13”, “14”, “FizzBuzz” ] 意思就是,输入一个数n,在1到n之间,每一个数字,如果这个数字能被3整除输出 “Fizz”,能被5整除,输出 “Buzz”,能被15整除,输出 “FizzBuzz”.
//普通的#include <iostream>#include<string>#include <vector>using namespace std;int main(){ vector<string> res; int n; cin >> n; for (int i = 0; i <= n; ++i) { if (i % 15 == 0) res.push_back("FizzBuzz"); else if (i % 3 == 0) res.push_back("Fizz"); else if (i % 5 == 0) res.push_back("Buzz"); else res.push_back(to_string(i)); } for (int i = 0; i <= n; ++i) { cout << res[i] << endl; } return 0;}AC:
class Solution {public: vector<string> fizzBuzz(int n) { vector<string> res; for (int i = 1; i <= n; ++i) { if (i % 15 == 0) res.push_back("FizzBuzz"); else if (i % 3 == 0) res.push_back("Fizz"); else if (i % 5 == 0) res.push_back("Buzz"); else res.push_back(to_string(i)); } return res; }};新闻热点
疑难解答