0Pricing
Competitive Programming Academy · Ders

sqrt(n)'ye Kadar Asallık Testi

Tek bir sayıyı verimli biçimde denetleyin.

sqrt(n)'ye Kadar Asallık Testi, CoddyKit'te ücretsiz bir Competitive Programming Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Competitive Programming Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Competitive Programming Academy kursu toplamda 4 dersten oluşur.

Asal Sayı Sorusu

Temel matematik becerilerinden biri, tek bir sayının asal olup olmadığına karar vermektir. Asal sayının tam olarak iki böleni vardır: bir ve kendisi. Şimdi bunu hızlıca sınayalım. 🔍

Naif Sınama

n'yi 2'den n eksi 1'e kadar her sayıya bölmeyi deneyebilirsiniz. Bu yöntem doğrudur; ancak n büyük olduğunda dayanılmaz derecede yavaştır.

Karekök Yöntemi

Temel fikir şudur: yalnızca n'nin kareköküne kadar olan bölenleri sınamanız gerekir. Bundan sonra yeni bir çarpan ortaya çıkamaz.

Karekök Neden Yeterlidir

Bölenler, çarpımları n olan çiftler hâlinde gelir. İkisi de karekökün üzerinde olsaydı çarpımları n'yi aşardı; bu mümkün değildir.

Döngü Sınırı

i*i, n'den küçük veya n'ye eşit kaldığı sürece i'yi artırarak ilerleyin. i*i kullanmak, büyük tam sayılarda sqrt kaynaklı kayan nokta hatasını önler.

while i * i <= n:
    ...

Küçük Durumları Ele Alın

2'nin altındaki sayılar hiçbir zaman asal değildir; bu nedenle onları en başta reddedin. Bu koruyucu koşul, ana döngünüzü temiz ve doğru tutar.

if n < 2:
    return False

Tam İşlev

Hepsini bir araya getirin: küçük değerleri koruyucu koşulla ele alın, ardından köke kadar olası bölenleri tarayın. Kalansız bir bölme, n'nin bileşik olduğunu gösterir.

def is_prime(n):
    if n < 2:
        return False
    i = 2
    while i * i <= n:
        if n % i == 0:
            return False
        i += 1
    return True

Hızlandırın

2'yi ayrı ele alın, ardından yalnızca tek sayıları sınayın. Çift sayıları atlamak, ek bir karmaşıklık getirmeden işi yaklaşık olarak yarıya indirir.

if n % 2 == 0:
    return n == 2

Zaman Maliyeti

Bu sınama O(sqrt n) zamanında çalışır. Bir milyara kadar olan tek bir sayı için bu, yalnızca yaklaşık 30.000 düşük maliyetli işlemdir.

Tek Sayı, Çok Sayı Değil

Karekök sınaması bir veya birkaç sorgu için çok etkilidir. Bir aralıktaki tüm sayılar için asallık gerekiyorsa elek çok daha hızlı olur.

Karekök Tuzaklarından Kaçının

math.sqrt yerine i*i ile karşılaştırmak, sınırdaki sayıların yanlışlıkla kabul edilmesine veya reddedilmesine yol açabilecek yuvarlama hatalarını ortadan kaldırır.

Hızlı Kontrol

Bu sınamayı hızlı kılan sınırı doğrulayın.

Özet

Artık tek bir sayının asallığını O(sqrt n) zamanında sınayabilir, küçük değerleri koruyucu koşulla ele alabilir, çift sayıları atlayabilir ve kesinliği korumak için i*i kullanabilirsiniz. ✅

Sıkça Sorulan Sorular

“sqrt(n)'ye Kadar Asallık Testi” dersi ücretsiz mi?

Evet — “sqrt(n)'ye Kadar Asallık Testi” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Competitive Programming Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Competitive Programming Academy kursu toplamda 4 dersten oluşur.

“sqrt(n)'ye Kadar Asallık Testi” dersinde ne öğreneceğim?

Tek bir sayıyı verimli biçimde denetleyin. Competitive Programming Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Competitive Programming Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Competitive Programming Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“sqrt(n)'ye Kadar Asallık Testi” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Competitive Programming Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Competitive Programming Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. GCD, LCM ve Öklid Algoritması
  2. sqrt(n)'ye Kadar Asallık Testi
  3. Eratosthenes Eleği
  4. Asal Çarpanlara Ayırma ve Bölenler
← Competitive Programming Academy Sayfasına Dön