|
|
| 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)) |
| """ |
|
|