本文共 1470 字,大约阅读时间需要 4 分钟。
题目:
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开始)是3的倍数,则当前为”Fizz”,如果是5的倍数,则当前为”Buzz”,如果为同时为3的倍数和5的倍数,则当前为”FizzBuzz”,其它情况都是当前位置对应的数。代码:
class Solution {public: vectorfizzBuzz(int n) { vector fizz; for (int i = 1; i <= n; ++i){ if (i % 3 != 0 && i % 5 != 0){ //既不是3也不是5的倍数 fizz.push_back(to_string(i)); } else if (i % 3 == 0 && i % 5 == 0){ //同时为3的倍数和5的倍数,则当前为"FizzBuzz" fizz.push_back("FizzBuzz"); } else if (i % 3 == 0){ //是3的倍数,则当前为"Fizz fizz.push_back("Fizz"); } else{ //如果是5的倍数,则当前为"Buzz" fizz.push_back("Buzz"); } } return fizz; }};
注:这里的to_string要#include <string>
string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_string (float val);string to_string (double val);string to_string (long double val);
转载地址:http://cpmii.baihongyu.com/