1. 程式人生 > >9、Fizz Buzz 問題

9、Fizz Buzz 問題

描述

給你一個整數n. 從 1 到 n 按照下面的規則列印每個數:

  • 如果這個數被3整除,列印fizz.
  • 如果這個數被5整除,列印buzz.
  • 如果這個數能同時被3和5整除,列印fizz buzz.

樣例

比如 n = 15, 返回一個字串陣列:

挑戰

Can you do it with only one if statement?

 

程式碼實現:

class Solution {
public:
    /**
     * @param n: An integer
     * @return: A list of strings.
     */
    vector<string> fizzBuzz(int n) 
    {
        vector<string> C;   //定義一個動態陣列
        for(int i = 1;i<=n;i++)
        {
            if(i%3==0 && i%5==0)
            {
                C.push_back("fizz buzz");
            }
            else if (i%3==0 && i%5!=0)
            {
                C.push_back("fizz");
            }
            else if(i%3!=0 && i%5==0)
            {
                C.push_back("buzz");
            }
            else
            {
                C.push_back(to_string(i));  //此處使用標準庫中的to_string()函式,將int型別轉換成string型別
            }
        }
        return C;
    }
};

程式碼分析:

  • 定義動態陣列C;
  • 使用push_back()函式在陣列最後插入元素;
  • 使用標準庫中的to_string()函式,將int型別轉換成string型別;