FizzBuzz

FizzBuzz

Zadanie brzmi:
Napisz program, który wyświetla liczby od 1 do 100.
Dla liczb podzielnych przez 3 niech program wyświetli tekst “Fizz”,
dla liczb podzielnych przez 5 niech wyświetli “Buzz”,
a dla liczb podzielnych przez 15 niech wyświetli “FizzBuzz”.

Tak więc nasz kod może wyglądać tak:

private static void Method1()
{
   Enumerable.Range(1, 100).Select(x =>
   {
      var str = "";

      if (x % 3 == 0)             
         str += "Fizz";
                
      if (x % 5 == 0)                
         str += "Buzz";
                
      if (str == "")               
         str = x.ToString();
                
      return str;

   }).ToList().ForEach(Console.WriteLine);
}

Nasz kod może wyglądać również tak:

private static void Method2()
{
   Console.WriteLine(
        String.Join("\n", Enumerable.Range(1, 100)
                  .Select(i => i % 15 == 0 ? "FizzBuzz"
                             : i % 3 == 0 ? "Fizz"
                             : i % 5 == 0 ? "Buzz"
                             : i.ToString())
          ));
}

A może wyglądać również tak:

private static void Method3()
{
  for (int i = 1; i < 101; i++) 
    Console.WriteLine("{0:#;}{1:;;Fizz}{2:;;Buzz}", i % 3 * i % 5 == 0 ? 0 : i, i % 3, i % 5);      
}

Może wyglądać również zupełnie inaczej,
możecie zostawiać swoje rozwiązania w komentarzach 🙂

I teraz sprawdzamy nasze rozwiązania.

static void Main(string[] args)
{
   Method1();
   Method2();
   Method3();
}

9 comments

  1. Oto moje rozwiązanie
    for (int i = 1; i <= 100; i++)
    {
    if (i % 3 == 0 && i % 5 == 0)
    {
    Console.WriteLine("FizzBuzz");
    }
    else if (i % 3 == 0)
    {
    Console.WriteLine("Fizz");
    }
    else if (i % 5 == 0)
    {
    Console.WriteLine("Buzz");
    }
    else
    {
    Console.WriteLine(i);
    }
    }

    1. Dzięki za Twoje rozwiązanie, działa 🙂 , pozdrawiam

  2. Bardzo częste zadanie rekrutacyjne, moje rozwiązanie
    for (int i = 1; i <= 100; i++)
    {
    if (i % 15 == 0)
    Console.WriteLine("FizzBuzz");
    else if (i % 3 == 0)
    Console.WriteLine("Fizz");
    else if (i % 5 == 0)
    Console.WriteLine("Buzz");
    else
    Console.WriteLine(i);
    }

    1. Dzięki za Twoje rozwiązanie, również działa 🙂 , pozdrawiam

  3. for (int i = 1; i <= 100; i++)
    {
    string res = (i % 3 == 0 && i % 5 == 0) ? "FizzBuzz" :
    (i % 3 == 0) ? "Fizz" :
    (i % 5 == 0) ? "Buzz" :
    i.ToString();

    Console.WriteLine(res);
    }

    1. Dzięki za Twoje rozwiązanie, również oczywiście działa 🙂 , pozdrawiam

  4. ja tez mam rozwiazanie
    private static void DoFizzBuzz()
    {
    for (int i = 1; i <= 100; i++)
    {
    bool fizz = i % 3 == 0;
    bool buzz = i % 5 == 0;
    if (fizz && buzz)
    Console.WriteLine("FizzBuzz");
    else if (fizz)
    Console.WriteLine("Fizz");
    else if (buzz)
    Console.WriteLine("Buzz");
    else
    Console.WriteLine(i);
    }
    }

    1. Dzięki za Twoje rozwiązanie, również działa 🙂 , pozdrawiam

  5. Paul Getty Zwykle Twierdzil, że bezinteresowna przyjazń może istnieć tylko pomiedzy osobami o jednakowych dochodach. I ja sie po niekąd z tym zgadzam 🙂 A ty ?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *