Python Asal Sayı Bulma: Algoritmalar, Örnekler ve Uygulamalar12/01/2026 tarihinde gönderilmiş MarkaHost Editör tarafından Python Asal Sayı Bulma: Algoritmalar, Örnekler ve Uygulamalar Asal Sayı Nedir? Asal Sayıların Özellikleri Asal Sayıları Bulmanın Yöntemleri 1. Kuvvet Metodu 2. Deneme Bölme Yöntemi 3. Fermat Testi 4. Miller-Rabin Testi 5. Eratosthenes Yöntemi 6. Atkins Yöntemi Python’da Asal Sayıları Bulma 1. Kuvvet Metodu ile Asal Sayı Bulma 2. Deneme Bölme Yöntemi ile Asal Sayı Bulma 3. Fermat Testi ile Asal Sayı Bulma 4. Miller-Rabin Testi ile Asal Sayı Bulma 5. Eratosthenes Yöntemi ile Asal Sayı Bulma 6. Atkins Yöntemi ile Asal Sayı Bulma Örnekler Uygulamalar SonuçPython Asal Sayı Bulma: Algoritmalar, Örnekler ve UygulamalarAsal sayılar, matematiksel bir kavramdır ve sadece kendileri ve 1’e bölünebilen sayılardır. Asallık testi, bir sayının asal olup olmadığını belirlemek için kullanılır. Python, Asal Sayıları bulmak için birçok algoritma ve yöntem sunar. Bu yazıda, Python’da Asal Sayıları bulmanın farklı yöntemlerini ve örneklerini inceleyeceğiz.Asal Sayı Nedir?Asal sayılar, sadece kendileri ve 1’e bölünebilen sayılardır. Örneğin, 2, 3, 5, 7, 11, 13, 17, 19, 23 gibi sayılar Asal Sayılardır. Ancak, 4, 6, 8, 9, 10, 12 gibi sayılar Asal Sayı değildir.Asal Sayıların ÖzellikleriAsal sayıların birçok özelliği vardır. İşte bazıları:Asal sayılar sadece kendileriyle ve 1 ile bölünebilirler.Her doğal sayı, Asal Sayıların çarpımı şeklinde yazılabilir.En küçük Asal Sayı 2’dir.Asal sayıların sonsuz sayıda olduğu kanıtlanmıştır.Asal Sayıları Bulmanın YöntemleriAsal sayıları bulmak için birçok yöntem vardır. İşte bazıları:1. Kuvvet MetoduKuvvet metodu, bir sayının asal olup olmadığını belirlemek için kullanılan basit bir yöntemdir. Bu yöntemde, bir sayının 2’den kendisine kadar olan tüm sayılarla bölünüp bölünemediği kontrol edilir. Eğer hiçbir sayıya bölünemiyorsa, sayı asal olarak kabul edilir.2. Deneme Bölme YöntemiDeneme bölme yöntemi, bir sayının asal olup olmadığını belirlemek için kullanılan bir başka basit yöntemdir. Bu yöntemde, bir sayının 2’den kendisine kadar olan tüm sayılarla bölünüp bölünemediği kontrol edilir. Ancak, bu yöntem kaba bir yöntemdir ve büyük sayılar için çok zaman alır.3. Fermat TestiFermat testi, bir sayının asal olup olmadığını belirlemek için kullanılan bir diğer yöntemdir. Bu yöntemde, bir sayının asal olup olmadığını belirlemek için Fermat teoremi kullanılır. Fermat teoremi, p ve a tam sayıları olmak üzere, a^(p-1) ≡ 1 (mod p) eşitliği şeklinde ifade edilir. Eğer bu eşitlik sağlanıyorsa, sayı asal olarak kabul edilir.4. Miller-Rabin TestiMiller-Rabin testi, bir sayının asal olup olmadığını belirlemek için kullanılan bir diğer yöntemdir. Bu yöntemde, bir sayının asal olup olmadığını belirlemek için Rabin-Miller teoremi kullanılır. Rabin-Miller teoremi, bir sayının asal olma olasılığını belirlemek için kullanılır.5. Eratosthenes YöntemiEratosthenes yöntemi, belirli bir aralıktaki tüm Asal Sayıları bulmak için kullanılan bir yöntemdir. Bu yöntemde, bir sayının asal olup olmadığını belirlemek için 2’den başlayarak tüm sayılar kontrol edilir. Eğer bir sayı asal olarak kabul edilirse, bu sayının katları çıkarılır ve kalan sayılar tekrar kontrol edilir.6. Atkins YöntemiAtkins yöntemi, belirli bir aralıktaki tüm Asal Sayıları bulmak için kullanılan bir yöntemdir. Bu yöntem, Eratosthenes yöntemine benzer şekilde çalışır, ancak daha hızlıdır. Atkins yöntemi, 2, 3 ve 5 sayılarını baz alır ve bu sayıların katlarından oluşan bir liste oluşturur. Daha sonra, bu listedeki sayılar üzerinde çeşitli işlemler yaparak Asal Sayıları bulur.Python’da Asal Sayıları BulmaPython, Asal Sayıları bulmak için birçok algoritma ve yöntem sunar. İşte bazıları:1. Kuvvet Metodu ile Asal Sayı Bulmadef is_prime(n): if n <= 1: return False for i in range(2, n): if n % i == 0: return False return True Bu kod, kuvvet metodu ile bir sayının asal olup olmadığını kontrol eder. Eğer sayı asal ise True, değilse False döndürür.2. Deneme Bölme Yöntemi ile Asal Sayı Bulmadef is_prime(n): if n <= 1: return False elif n <= 3: return True elif n % 2 == 0 or n % 3 == 0: return False i = 5 while i * i <= n: if n % i == 0 or n % (i + 2) == 0: return False i += 6 return True Bu kod, deneme bölme yöntemi ile bir sayının asal olup olmadığını kontrol eder. Bu yöntem, kuvvet metodu ile karşılaştırıldığında daha hızlıdır.3. Fermat Testi ile Asal Sayı Bulmaimport random def is_prime(n, k=5): if n <= 1: return False elif n <= 3: return True elif n % 2 == 0 or n % 3 == 0: return False for i in range(k): a = random.randint(2, n - 2) if pow(a, n - 1, n) != 1: return False return True Bu kod, Fermat testi ile bir sayının asal olup olmadığını kontrol eder. Bu yöntem, deneme bölme yöntemi ile karşılaştırıldığında daha hızlıdır.4. Miller-Rabin Testi ile Asal Sayı Bulmaimport random def is_prime(n, k=5): if n <= 1: return False elif n <= 3: return True elif n % 2 == 0 or n % 3 == 0: return False r, s = 0, n - 1 while s % 2 == 0: r += 1 s //= 2 for i in range(k): a = random.randint(2, n - 2) x = pow(a, s, n) if x == 1 or x == n - 1: continue for j in range(r - 1): x = pow(x, 2, n) if x == n - 1: break else: return False return True Bu kod, Miller-Rabin testi ile bir sayının asal olup olmadığını kontrol eder. Bu yöntem, Fermat testi ile karşılaştırıldığında daha güvenilirdir.5. Eratosthenes Yöntemi ile Asal Sayı Bulmadef sieve(n): primes = [True] * (n + 1) primes[0] = primes[1] = False for i in range(2, int(n ** 0.5) + 1): if primes[i]: for j in range(i * i, n + 1, i): primes[j] = False return [i for i in range(n + 1) if primes[i]] Bu kod, Eratosthenes yöntemi ile belirli bir aralıktaki tüm Asal Sayıları bulur.6. Atkins Yöntemi ile Asal Sayı Bulmadef atkins(n): primes = [False] * (n + 1) sqrt_n = int(n ** 0.5) + 1 for x in range(1, sqrt_n): for y in range(1, sqrt_n): z = 4 * x ** 2 + y ** 2 if z <= n and (z % 12 == 1 or z % 12 == 5): primes[z] = not primes[z] z = 3 * x ** 2 + y ** 2 if z <= n and z % 12 == 7: primes[z] = not primes[z] z = 3 * x ** 2 - y ** 2 if x > y and z <= n and z % 12 == 11: primes[z] = not primes[z] for i in range(5, sqrt_n): if primes[i]: for j in range(i ** 2, n + 1, i ** 2): primes[j] = False return [2, 3] + [i for i in range(5, n + 1) if primes[i]] Bu kod, Atkins yöntemi ile belirli bir aralıktaki tüm Asal Sayıları bulur.Örnekler37 sayısı Asal Sayıdır.100 sayısı Asal Sayı değildir.457 sayısı Asal Sayıdır.1000 sayısı Asal Sayı değildir.UygulamalarAsal sayılar, kriptografi, matematik, bilgisayar bilimi ve diğer birçok alanda kullanılır. Örneğin:Kriptografi: Asal Sayılar, şifreleme algoritmalarında kullanılır.Matematik: Asal Sayılar, matematiğin birçok alanında kullanılır.Bilgisayar Bilimi: Asal Sayılar, veri şifreleme, rastgele sayı oluşturma ve diğer birçok alanda kullanılır.SonuçPython, Asal Sayıları bulmak için birçok algoritma ve yöntem sunar. Bu yazıda, kuvvet metodu, deneme bölme yöntemi, Fermat testi, Miller-Rabin testi, Eratosthenes yöntemi ve Atkins yöntemi gibi yöntemlerin Python’da nasıl uygulanacağını inceledik. Ayrıca, Asal Sayıların özellikleri, örnekleri ve uygulamaları hakkında bilgi verdik.