Skip to content

Commit a7a6749

Browse files
committed
fix: add upper-bound validation for range and improve error messages in Prime Number Analyzer
Closes steam-bell-92#1132 - Option 2: clarify error message with explicit max (10,000,000) - Option 3: add missing upper-bound check on range end; previously unbounded inputs caused memory exhaustion with no user-friendly error - Option 5: clarify error message with explicit max (1,000,000)
1 parent 35ba3fe commit a7a6749

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

math/Prime-Number-Analyzer/Prime-Number-Analyzer.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ def main() -> None:
137137
error_invalid="❌ Error: Please enter a valid integer!"
138138
)
139139
if limit > 10000000:
140-
print("❌ Error: Limit is too high for this system's memory.")
140+
print("❌ Limit too large. Maximum allowed: 10,000,000. Please enter a smaller value.")
141141
elif limit < 2:
142142
print("⚠️ No prime numbers exist below 2.")
143143
else:
@@ -160,6 +160,8 @@ def main() -> None:
160160
print("❌ Error: Start must be less than or equal to end!")
161161
elif end < 2:
162162
print("❌ No prime numbers exist below 2.")
163+
elif end > 10000000:
164+
print("❌ Limit too large. Maximum allowed: 10,000,000. Please enter a smaller value.")
163165
else:
164166
primes = find_primes_in_range(start, end)
165167
print(f"✅ Primes between {start} and {end}: {primes}")
@@ -184,7 +186,7 @@ def main() -> None:
184186
error_invalid="Please enter a valid number!"
185187
)
186188
if n > 1000000:
187-
print("❌ Error: n is too large. High-range Nth primes require a Segmented Sieve.")
189+
print("❌ n too large. Maximum allowed: 1,000,000. Please enter a smaller value.")
188190
elif n <= 0:
189191
print("❌ Please enter a positive number!")
190192
elif n == 1:

0 commit comments

Comments
 (0)