1195. Fizz Buzz Multithreaded
Description
You have the four functions:
- printFizzthat prints the word- "fizz"to the console,
- printBuzzthat prints the word- "buzz"to the console,
- printFizzBuzzthat prints the word- "fizzbuzz"to the console, and
- printNumberthat prints a given integer to the console.
You are given an instance of the class FizzBuzz that has four functions: fizz, buzz, fizzbuzz and number. The same instance of FizzBuzz will be passed to four different threads:
- Thread A:  calls fizz()that should output the word"fizz".
- Thread B:  calls buzz()that should output the word"buzz".
- Thread C:  calls fizzbuzz()that should output the word"fizzbuzz".
- Thread D:  calls number()that should only output the integers.
Modify the given class to output the series [1, 2, "fizz", 4, "buzz", ...] where the i^th token (1-indexed ) of the series is:
- "fizzbuzz"if- iis divisible by- 3and- 5,
- "fizz"if- iis divisible by- 3and not- 5,
- "buzz"if- iis divisible by- 5and not- 3, or
- iif- iis not divisible by- 3or- 5.
Implement the FizzBuzz class:
- FizzBuzz(int n)Initializes the object with the number- nthat represents the length of the sequence that should be printed.
- void fizz(printFizz)Calls- printFizzto output- "fizz".
- void buzz(printBuzz)Calls- printBuzzto output- "buzz".
- void fizzbuzz(printFizzBuzz)Calls- printFizzBuzzto output- "fizzbuzz".
- void number(printNumber)Calls- printnumberto output the numbers.
Example 1:
| 1 | Input: n = 15 | 
Example 2:
| 1 | Input: n = 5 | 
Constraints:
- 1 <= n <= 50
Hints/Notes
- 2025/03/25 Q2
- concurrency
- No solution from 0x3F or Leetcode
Solution
Language: C++
| 1 | class FizzBuzz { |