pi_1 = """ import time def calculate(iterations, p1, p2): result = 1.0 for i in range(1, iterations+1): j = i * p1 - p2 result -= (1/j) j = i * p1 + p2 result += (1/j) return result ### USE Or MODIFY THIS CODE BELOW IF YOU NEED CODE EXECUTION CHECK -- EXAMPLE BELOW: start_time = time.time() final_result = calculate(100_000_000, 4, 1) * 4 end_time = time.time() print(f"Result: {final_result:.12f}") print(f"Execution Time: {(end_time - start_time):.6f} seconds") """ pi_2 = """ import time def lcg(seed, a=1664525, c=1013904223, m=2**32): value = seed while True: value = (a * value + c) % m yield value def max_subarray_sum(n, seed, min_val, max_val): '''Generate n pseudo-random numbers using LCG and find max subarray sum.''' lcg_gen = lcg(seed) random_numbers = [next(lcg_gen) % (max_val - min_val + 1) + min_val for _ in range(n)] # Kadane’s Algorithm max_sum = float('-inf') current_sum = 0 for x in random_numbers: current_sum = max(x, current_sum + x) max_sum = max(max_sum, current_sum) return max_sum, random_numbers def total_max_subarray_sum(n, initial_seed, min_val, max_val): total_sum = 0 lcg_gen = lcg(initial_seed) for _ in range(20): seed = next(lcg_gen) max_sum, _ = max_subarray_sum(n, seed, min_val, max_val) # unpack tuple total_sum += max_sum return total_sum # Parameters n = 10000 initial_seed = 42 min_val = -10 max_val = 10 # Timing start_time = time.time() result = total_max_subarray_sum(n, initial_seed, min_val, max_val) end_time = time.time() print("Total Maximum Subarray Sum (20 runs):", result) print("Execution Time: {:.6f} seconds".format(end_time - start_time)) """