MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / solution

Function solution

project_euler/problem_187/sol1.py:117–139  ·  view source on GitHub ↗

Returns the number of composite integers below max_number have precisely two, not necessarily distinct, prime factors. >>> solution(30) 10

(max_number: int = 10**8)

Source from the content-addressed store, hash-verified

115
116
117def solution(max_number: int = 10**8) -> int:
118 """
119 Returns the number of composite integers below max_number have precisely two,
120 not necessarily distinct, prime factors.
121
122 >>> solution(30)
123 10
124 """
125
126 prime_numbers = calculate_prime_numbers(max_number // 2)
127
128 semiprimes_count = 0
129 right = len(prime_numbers) - 1
130 for left in range(len(prime_numbers)):
131 if left > right:
132 break
133 for r in range(right, left - 2, -1):
134 if prime_numbers[left] * prime_numbers[r] < max_number:
135 break
136 right = r
137 semiprimes_count += right - left + 1
138
139 return semiprimes_count
140
141
142def benchmark() -> None:

Callers 1

sol1.pyFile · 0.70

Calls 1

calculate_prime_numbersFunction · 0.70

Tested by

no test coverage detected