Fizz Buzz问题及解法

来源:互联网 发布:网络电视必须买盒子么 编辑:程序博客网 时间:2024/06/06 01:07
问题描述:

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”.

示例:

n = 15,Return:[    "1",    "2",    "Fizz",    "4",    "Buzz",    "Fizz",    "7",    "8",    "Fizz",    "Buzz",    "11",    "Fizz",    "13",    "14",    "FizzBuzz"]

问题分析:

主要看n以内的每个数是否为3和5的倍数,按照要求,相应求解即可。

过程详见代码:


class Solution {public:    vector<string> fizzBuzz(int n) {        vector<string> res;        for(int i = 1; i <= n; i++)        {        stringstream ss;        ss << i;        if(i % 3 == 0 && i % 5 == 0) res.push_back("FizzBuzz");        else if(i % 5 == 0) res.push_back("Buzz");        else if(i % 3 == 0) res.push_back("Fizz");        else res.push_back(ss.str());}return res;    }};


0 0