Fizz Buzz in Unicat

Published on 28 August 2023 (Updated: 28 August 2023)

Welcome to the Fizz Buzz in Unicat page! Here, you'll find the source code for this program as well as a description of how the program works.

Current Solution

# This program implements the fizz-buzz algorithm. It tests the math
# instructions

# Set up letters
0o00 πŸ˜»πŸ˜ΉπŸ˜ΈπŸ™€πŸ™€πŸ˜ΉπŸ˜ΈπŸ˜ΎπŸ™€πŸ™€ Memory 0 = 0o106 (70 = 'F')
0o01 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ™€πŸ™€πŸ˜ΉπŸ˜½πŸ˜ΉπŸ™€πŸ™€ Memory 1 = 0o151 (105 = 'i')
0o02 πŸ˜»πŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΉπŸ˜ΏπŸ˜ΊπŸ™€πŸ™€ Memory 2 = 0o172 (122 = 'z')
0o03 πŸ˜»πŸ˜ΉπŸ˜»πŸ™€πŸ™€πŸ˜ΉπŸ˜ΈπŸ˜ΊπŸ™€πŸ™€ Memory 3 = 0o102 (66 = 'B')
0o04 πŸ˜»πŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΉπŸ˜ΎπŸ˜½πŸ™€πŸ™€ Memory 4 = 0o165 (117 = 'u')
0o05 πŸ˜»πŸ˜ΉπŸ˜½πŸ™€πŸ™€πŸ˜ΉπŸ˜ΊπŸ™€πŸ™€ Memory 5 = 0o12 (10 = '\n')

# Set up constants
0o06 πŸ˜»πŸ˜ΉπŸ˜ΎπŸ™€πŸ™€πŸ˜ΈπŸ™€πŸ™€ Memory 6 = 0 (n)
0o07 πŸ˜»πŸ˜ΉπŸ˜ΏπŸ™€πŸ™€πŸ˜ΉπŸ™€πŸ™€ Memory 7 = 1
0o10 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜ΈπŸ™€πŸ™€πŸ˜»πŸ™€πŸ™€ Memory 8 (0o10) = 3
0o11 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜ΉπŸ™€πŸ™€πŸ˜½πŸ™€πŸ™€ Memory 9 (0o11) = 5

# Loop start: Increment n. If n > 100, exit
0o12 πŸ˜ΏπŸ™€πŸ˜ΈπŸ˜ΎπŸ™€πŸ™€πŸ˜ΏπŸ™€πŸ™€ Memory 6 += Memory 7 (increment n)
0o13 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΉπŸ˜ΌπŸ˜ΌπŸ™€πŸ˜Ώ Memory 10 (0o12) = -0o144 (-100)
0o14 πŸ˜ΏπŸ™€πŸ˜ΈπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΎπŸ™€πŸ™€ Memory 10 (0o12) += Memory 6 (n - 100)
0o15 πŸ˜½πŸ˜ΏπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜½πŸ˜ΌπŸ™€πŸ™€ If Memory 10 (0o12) > 0, jump to 0o55 (0o54 + 1) (if n > 100)

# Indicate no output
0o16 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜»πŸ™€πŸ™€πŸ˜ΈπŸ™€πŸ™€ Memory 11 (0o13) = 0

# If n mod 3 is 0, output "Fizz" and indicate output
0o17 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΈπŸ™€πŸ™€ Memory 10 (0o12) = 0
0o20 πŸ˜ΏπŸ™€πŸ˜ΈπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΎπŸ™€πŸ™€ Memory 10 (0o12) += Memory 6 (n)
0o21 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΈπŸ™€πŸ™€ Memory 12 (0o14) = 0
0o22 πŸ˜ΏπŸ™€πŸ˜ΈπŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΎπŸ™€πŸ™€ Memory 12 (0o14) += Memory 6 (n)
0o23 πŸ˜ΏπŸ™€πŸ˜ΏπŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΉπŸ˜ΈπŸ™€πŸ™€ Memory 12 (0o14) /= Memory 8 (0o10) (3)
0o24 πŸ˜ΏπŸ™€πŸ™€πŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΉπŸ˜ΈπŸ™€πŸ™€ Memory 12 (0o14) *= Memory 8 (0o10) (3)
0o25 πŸ˜ΏπŸ™€πŸ˜ΊπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΉπŸ˜ΌπŸ™€πŸ™€ Memory 10 (0o12) -= Memory 12 (0o14) (n - floor(n / 3) * 3)
0o26 πŸ˜½πŸ˜ΏπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜»πŸ˜»πŸ™€πŸ™€ If Memory 10 (0o12) > 0, jump to 0o34 (0o33 + 1)
0o27 πŸ˜½πŸ˜ΌπŸ˜ΈπŸ™€πŸ™€ Output Memory 0 ('F')
0o30 πŸ˜½πŸ˜ΌπŸ˜ΉπŸ™€πŸ™€ Output Memory 1 ('i')
0o31 πŸ˜½πŸ˜ΌπŸ˜ΊπŸ™€πŸ™€ Output Memory 2 ('z')
0o32 πŸ˜½πŸ˜ΌπŸ˜ΊπŸ™€πŸ™€ Output Memory 2 ('z')
0o33 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜»πŸ™€πŸ™€πŸ˜ΉπŸ™€πŸ™€ Memory 11 (0o13) = 1

# If n mod 5 is 0, output "Buzz" and indicate output
0o34 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΈπŸ™€πŸ™€ Memory 10 (0o12) = 0
0o35 πŸ˜ΏπŸ™€πŸ˜ΈπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΎπŸ™€πŸ™€ Memory 10 (0o12) += Memory 6 (n)
0o36 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΈπŸ™€πŸ™€ Memory 12 (0o14) = 0
0o37 πŸ˜ΏπŸ™€πŸ˜ΈπŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΎπŸ™€πŸ™€ Memory 12 (0o14) += Memory 6 (n)
0o40 πŸ˜ΏπŸ™€πŸ˜ΏπŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΉπŸ˜ΉπŸ™€πŸ™€ Memory 12 (0o14) /= Memory 9 (0o11) (floor(n / 5))
0o41 πŸ˜ΏπŸ™€πŸ™€πŸ˜ΉπŸ˜ΌπŸ™€πŸ™€πŸ˜ΉπŸ˜ΉπŸ™€πŸ™€Memory 12 (0o14) *= Memory 9 (0o11) (floor(n / 5) * 5)
0o42 πŸ˜ΏπŸ™€πŸ˜ΊπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜ΉπŸ˜ΌπŸ™€πŸ™€ Memory 10 (0o12) -= Memory 12 (0o14) (n - floor(n / 5) * 5)
0o43 πŸ˜½πŸ˜ΏπŸ˜ΉπŸ˜ΊπŸ™€πŸ™€πŸ˜½πŸ˜ΈπŸ™€πŸ™€ If Memory 10 (0o12) > 0, jump to 0o51 (0o50 + 1)
0o44 πŸ˜½πŸ˜ΌπŸ˜»πŸ™€πŸ™€ Output Memory 3 ('B')
0o45 πŸ˜½πŸ˜ΌπŸ˜ΌπŸ™€πŸ™€ Output Memory 4 ('u')
0o46 πŸ˜½πŸ˜ΌπŸ˜ΊπŸ™€πŸ™€ Output Memory 2 ('z')
0o47 πŸ˜½πŸ˜ΌπŸ˜ΊπŸ™€πŸ™€ Output Memory 2 ('z')
0o50 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ˜»πŸ™€πŸ™€πŸ˜ΉπŸ™€πŸ™€ Memory 11 (0o13) = 1

# If no output, output n as value
0o51 πŸ˜½πŸ˜ΏπŸ˜ΉπŸ˜»πŸ™€πŸ™€πŸ˜½πŸ˜ΊπŸ™€πŸ™€ If Memory 11 (0o13) > 0, jump to 0o53 (0o52 + 1)
0o52 πŸ˜ΌπŸ˜ΌπŸ˜ΎπŸ™€πŸ™€ Output Memory 6 (n) as value

# Output newline
0o53 πŸ˜½πŸ˜ΌπŸ˜½πŸ™€πŸ™€ Output Memory 5 ('\n')

# Jump to Loop start
0o54 πŸ˜»πŸ˜ΉπŸ˜ΉπŸ™€πŸ˜ΏπŸ˜ΉπŸ˜ΉπŸ™€πŸ™€ Jump to 0o12 (0o11 + 1)

0o55 πŸ™€πŸ™€ Exit

Fizz Buzz in Unicat was written by:

If you see anything you'd like to change or update, please consider contributing.

How to Implement the Solution

No 'How to Implement the Solution' section available. Please consider contributing.

How to Run the Solution

No 'How to Run the Solution' section available. Please consider contributing.