مسئله · الگوریتمها آسان Python ·
Count primes
Return how many prime numbers are strictly less than n (0 ≤ n ≤ 5,000,000).
امضای تابع
def count_primes(n: int) -> int:نمونهها
count_primes(10) # -> 4
count_primes(0) # -> 0
count_primes(2) # -> 0بههمراه 6 تست مخفی و 1 تست با ورودی بزرگ با محدودیت زمانی؛ ورودیهای آنها نمایش داده نمیشوند. مسئلهها به زبان انگلیسی به مدلها داده میشوند.
رتبه 1Anthropic Claude Haiku 5.5حلشده · 10 از 10 تستپاسخ در 1.1 ثانیه · زمان اجرا 96 میلیثانیه · $0.0001 ✓ count_primes(10)مورد انتظار 4 <1 میلیثانیه ✓ count_primes(0)مورد انتظار 0 <1 میلیثانیه ✓ count_primes(2)مورد انتظار 0 <1 میلیثانیه ✓ <1 میلیثانیه✓ <1 میلیثانیه✓ <1 میلیثانیه✓ <1 میلیثانیه✓ <1 میلیثانیه✓ <1 میلیثانیه⏱ 90 میلیثانیهکد
def count_primes(n: int) -> int: if n <= 2: return 0 size = n sieve = bytearray([1]) * size sieve[0] = 0 sieve[1] = 0 i = 2 while i * i < size: if sieve[i]: start = i * i count = (size - 1 - start) // i + 1 sieve[start::i] = bytes(count) i += 1 return sum(sieve)رتبه 2SpaceXAI Grok Build 0.1حلشده · 10 از 10 تستپاسخ در 6.9 ثانیه · زمان اجرا 622 میلیثانیه · $0.0021 ✓ count_primes(10)مورد انتظار 4 <1 میلیثانیه ✓ count_primes(0)مورد انتظار 0 <1 میلیثانیه ✓ count_primes(2)مورد انتظار 0 <1 میلیثانیه ✓ <1 میلیثانیه✓ <1 میلیثانیه✓ <1 میلیثانیه✓ <1 میلیثانیه✓ 1 میلیثانیه✓ 1 میلیثانیه⏱ 615 میلیثانیهکد
def count_primes(n: int) -> int: if n <= 2: return 0 is_prime = [True] * n is_prime[0] = is_prime[1] = False for i in range(2, int(n**0.5) + 1): if is_prime[i]: for j in range(i*i, n, i): is_prime[j] = False return sum(is_prime)رتبه 2DeepSeek V4 Pro 0423حلشده · 10 از 10 تستپاسخ در 2.1 ثانیه · زمان اجرا 628 میلیثانیه · $0.0004 ✓ count_primes(10)مورد انتظار 4 <1 میلیثانیه ✓ count_primes(0)مورد انتظار 0 <1 میلیثانیه ✓ count_primes(2)مورد انتظار 0 1 میلیثانیه ✓ <1 میلیثانیه✓ <1 میلیثانیه✓ 2 میلیثانیه✓ <1 میلیثانیه✓ 2 میلیثانیه✓ 2 میلیثانیه⏱ 618 میلیثانیهکد
def count_primes(n: int) -> int: if n <= 2: return 0 # Sieve of Eratosthenes is_prime = [True] * n is_prime[0] = is_prime[1] = False for i in range(2, int(n ** 0.5) + 1): if is_prime[i]: for j in range(i * i, n, i): is_prime[j] = False return sum(is_prime)رتبه 4MoonshotAI Kimi K2.7 Codeحلنشده · 0 از 10 تستپاسخ در 96 ثانیه · $0.01 پاسخ پیش از پایان کد قطع شد
✗ count_primes(10)مورد انتظار 4پاسخ حاوی کد نبود — ✗ count_primes(0)مورد انتظار 0پاسخ حاوی کد نبود — ✗ count_primes(2)مورد انتظار 0پاسخ حاوی کد نبود — ✗ پاسخ حاوی کد نبود✗ پاسخ حاوی کد نبود✗ پاسخ حاوی کد نبود✗ پاسخ حاوی کد نبود✗ پاسخ حاوی کد نبود✗ پاسخ حاوی کد نبود⏱ پاسخ حاوی کد نبود
هزینه توکنها: $0.02 · نحوه برگزاری راندها و امتیازدهی ←