Find the best fraction for pi with less than 8 digits in the denominator. Find the smallest 'difference' that the code below would produce. Using C++ and threads. Tell me how long it takes to run with 1 thread, 2 threads, and 8 threads. You can time an executable many ways. import math for denominator in range(1, 100): numerator = math.pi * denominator numerator = (numerator+0.5)//1 difference = math.abs(numerator / denominator - math.pi) print(numerator, "/", denominator, diff) For 80%, do the above. For another 20%, Find out the number of CPUs on the system Do that many of threads (use an array) Have each thread get the-next-number-to-do, and not do things by range.