Comment

Comment by unsnap_biceps

Much like stop50's solution, I also used the modulo, but I make use of the terminal to overwrite the number. It's only three lines of code, but I split up the list to be more readable on here.

This works from 1 to 100000000000000000000 before it overflows, and 100000000000000000000 is above the max size of a unsigned 64 bit int, so I feel that it's good enough

    fizzbuzz = [
        "fizzbuzz            ",
        "", "",
        "fizz                ",
        "",
        "buzz                ",
        "fizz                ",
        "", "",
        "fizz                ",
        "buzz                ",
        "",
        "fizz                ",
        "", "" ]
    for n in range(99999999999999999999-30, 100000000000000000000):
        print(f"{n}\r{fizzbuzz[n%15]}")
parent unsnap_biceps 11 months ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton