From 488f143b8c8b9d1528c2decdc9135d2c749a7a69 Mon Sep 17 00:00:00 2001 From: Venkata Ramana Menda <115451367+RamanaMenda@users.noreply.github.com> Date: Sat, 30 Aug 2025 05:46:21 +0530 Subject: [PATCH] Performance: 25% faster Project Euler 73 #10503 (#11553) * Seperate slow_solution and solution * Add performance benchmark * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix issues * Update sol1.py * Update sol1.py --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Maxim Smolskiy --- project_euler/problem_073/sol1.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/project_euler/problem_073/sol1.py b/project_euler/problem_073/sol1.py index 2b66b7d8..c3911025 100644 --- a/project_euler/problem_073/sol1.py +++ b/project_euler/problem_073/sol1.py @@ -36,7 +36,12 @@ def solution(max_d: int = 12_000) -> int: fractions_number = 0 for d in range(max_d + 1): - for n in range(d // 3 + 1, (d + 1) // 2): + n_start = d // 3 + 1 + n_step = 1 + if d % 2 == 0: + n_start += 1 - n_start % 2 + n_step = 2 + for n in range(n_start, (d + 1) // 2, n_step): if gcd(n, d) == 1: fractions_number += 1 return fractions_number