DEV Community

Discussion on: [Challenge] 🐝 FizzBuzz without if/else

Collapse
 
jdaless profile image
John D'Alessandro

I do feel like this was kinda cheap...

using System;
using System.Collections.Generic;
using System.Linq;

public class Program
{
  public static void Main()
  {
    foreach(var s in FizzBuzz().Take(15))
      Console.WriteLine(s);
  }

  public static IEnumerable<string> FizzBuzz()
  {
    for(int i = 1; true; i++)
    {
      for(;i%3!=0 && i%5!=0;)
      {
        yield return i.ToString();
        break;
      }
      for(;i%3==0;)
      {
        for(;i%5==0;)
        {
          yield return "FizzBuzz";
          break;
        }
        yield return "Fizz";
        break;
      }
      for(;i%5==0;)
      {
        yield return "Buzz";
        break;
      }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode
Collapse
 
nocnica profile image
Nočnica Mellifera

I like it!

Collapse
 
nombrekeff profile image
Keff

Nice stuff! Cool use of a generator. And yeah kinda cheap but cool nonetheless, thanks for sharing!