每周一算法2018.01.19

Fizz Buzz

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

描述:

编写一个程序,输出从1到n的数字的字符串表示形式。 但对于三的倍数应该输出“嘶嘶声”代替数为五的倍数输出“嗡嗡声”。的数字三和五的倍数输出“嘶嘶嗡嗡”。

复杂度分析:

空间复杂度 T(n) = O(n)

Java:

public class Main {  
    public static void main(String[] args) {
       String[] resultData = FizzBuzzResult(30);
    }

    public static String[] FizzBuzzResult(int n) {
        String[] resultData = new String[n];
        for (int i = 0 ; i <= n ;i++) {
            if(i%3 == 0 && i%5 == 0) {
                 resultData[i] = "Fizz Buzz";
            }else if(i%3 == 0) {
                 resultData[i] = "Fizz";
            }else if(i%5 == 0) {
                 resultData[i] = "Buzz";
            }else {
                 resultData[i] = "" + i;
            }
            System.out.println(resultData[i]);  
        }
        return resultData;
    }
}
public class Main {  
    public static void main(String[] args) {
        FizzBuzzResult(30);
    }

    public static void FizzBuzzResult(int n) {
        for (int i = 0 ; i < n ;i++) {
            if(i%15 == 0) {
                System.out.println("Fizz Buzz");
            }else if(i%3 == 0) {
                 System.out.println("Fizz");
            } else if(i%5 == 0) {
                 System.out.println("Buzz");
            }else {
                 System.out.println("" + i);
            }
        }
    }
}

C++:

#include <iostream>
using namespace std;  
void fizzBuzzResult(int n);

int main() {  
    fizzBuzzResult(30);
}

void fizzBuzzResult(int n) {  
    for (int i = 1 ; i <= n ;i++) {
        if(i%15 == 0) {
            std::cout << "Fizz Buzz\n";
        }else if(i%3 == 0) {
            std::cout << "Fizz\n";
        }else if(i%5 == 0) {
            std::cout << "Buzz\n";
        }else {
            std::cout << to_string(i)<<"\n";
        }
    }
    return;
}

Swift:

func fizzBuzz(num : Int) {  
    var i = 1
     for _ in 1 ... num {
        if(i % 15 == 0) {
            print("Fizz Buzz")
        }else if(i % 3 == 0) {
            print("Fizz")
        }else if(i % 5 == 0) {
             print("Buzz")
        }else {
            print("\(i)")
        }
        i = i + 1
    }
}

fizzBuzz(num :30)  

本题来自:leetCode

comments powered by Disqus