NullDev / Hacktoberfest-2020-FizzBuzz

:jack_o_lantern: Submit creative/abstract FizzBuzz solutions in any language you want!
The Unlicense
68 stars 349 forks source link
fizzbuzz hacktober hacktoberfest hacktoberfest2020

:jack_o_lantern: Hacktoberfest 2020 FizzBuzz


Submit creative FizzBuzz solutions in any language you want!


TL;DR:
We're searching for creative/extraordinary/weird FizzBuzz solutions :)


:exclamation: READ BEFORE CONTRIBUTING

THIS REPOSITORY IS IN COMPLIANCE WITH THE HACKTOBERFEST VALUES AND RULES:
We cannot and will not accept every PR and label invalid one's accordingly! Examples are off-topic contributions, duplicated solutions, copy-paste solutions as well as obvious +1 attempts.
We are searching for interesting/creative/abstract/unique/extraordinary/weird solutions to FizzBuzz. Only one normal solution per language is permitted!
This repository aligns with the values of the Hacktoberfest as it is meant as a fun challenge as well as a platform to learn (experiment with different solutions, challenging yourself to come up with creative solutions to a unique problem).
Denied PR's can be found here.


:wrench: Steps to add your solution:

  1. Fork this repository.

  2. Add your solution to the folder with the name of your language. If there is no folder for your language yet, create one!

  3. Name your file with a fitting description.

  4. Comment the first lines of your file (if possible) like that (use whatever commenting syntax is supported by the language you use!):

// [SHORT DESCRIPTION HERE]
// Author: @YourGitHubUserName

...

A sample file can be found here: https://github.com/NullDev/Hacktoberfest-2020-FizzBuzz/blob/master/JavaScript/one-liner.js
Or check out our top 5 user contributed samples :)


:question: What is FizzBuzz?

Quick summary:

FizzBuzz is a program that prints the numbers from 1 to 100. But for multiples of three it prints “Fizz” instead of the number and for the multiples of five, it prints “Buzz”. For numbers which are multiples of both three and five it prints “FizzBuzz”.


[Image source © 100daysofalgorithms]

Read more about it here: https://www.tomdalling.com/blog/software-design/fizzbuzz-in-too-much-detail/


:trophy: Top 5 personal favorites:

Side note: There are more than 5 solutions now but I don't want to change the title here because that would break a lot of links and references to it :)

  1. First and only FizzBuzz implementation in "omgrofl" by @adamsoutar - See PR for more information!
  2. FizzBuzz with Branchless logic (C++) by @s0LA1337
  3. Hand written solution in WebAssembly (WASM) by @nlordell - See PR for more information!
  4. Type-Level FizzBuzz solution (TypeScript) by @minajevs - See PR for more information!
  5. Hand written solution in LLVM by @PAndaContron - See PR for more information!
  6. FizzBuzz Machine-Learning implementation (Python) by @mzelenetz - See PR for more information!
  7. Hand written solution in IntCode by @asottile - See PR for more information!
  8. Turing-Machine FizzBuzz Solution by @lennart-k
  9. FizzBuzz implementation in HolyC on TempleOS by @Azgeb - See PR for more information!
  10. Recusive Minecraft-Datapack solution by @cakoshakib - See PR for more information!
  11. FizzBuzz in Shakespearean by @C0DINGLE - See PR for more information!
  12. Overly complicated FizzBuzz solution (Python) by @InitialPosition
  13. Hardcoded FizzBuzz (Python) by @khong612
  14. FizzBuzz in CharArrays, Bytes and Hex Values (Java) by @nimbl0

:question: What do you mean by "creative" solutions?

Well, I'm not looking for normal solutions. You know, the ones you'd find in a book or so. I'm looking for something interesting! Whether that's a fancy one-liner in the language of your choice, or perhaps a funny eso-language, or maybe an intentionally weird solution that you don't even quite understand yourself (be sure to document those!). Anyhow, the goal is to have fun and maybe even learn a thing or two.

If you're still unsure, check out our top 5 user contributed samples :)

Happy hacking!