{"id":1801,"date":"2026-01-12T15:06:42","date_gmt":"2026-01-12T12:06:42","guid":{"rendered":"https:\/\/markahost.com.tr\/blog\/?p=1801"},"modified":"2026-01-12T15:06:42","modified_gmt":"2026-01-12T12:06:42","slug":"python-asal-sayi-bulma","status":"publish","type":"post","link":"https:\/\/markahost.com.tr\/blog\/python-asal-sayi-bulma\/","title":{"rendered":"Python Asal Say\u0131 Bulma: Algoritmalar, \u00d6rnekler ve Uygulamalar"},"content":{"rendered":"<h2><strong>Python\u00a0Asal Say\u0131 Bulma<\/strong>: Algoritmalar, \u00d6rnekler ve Uygulamalar<\/h2>\n<p>Asal say\u0131lar, matematiksel bir kavramd\u0131r ve sadece kendileri ve 1&#8217;e b\u00f6l\u00fcnebilen say\u0131lard\u0131r. Asall\u0131k testi, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in kullan\u0131l\u0131r.\u00a0<strong>Python, Asal Say\u0131lar\u0131 bulma<\/strong>k i\u00e7in bir\u00e7ok <a href=\"https:\/\/markahost.com.tr\/blog\/algoritma-nedir\/\" data-internallinksmanager029f6b8e52c=\"40\" title=\"algoritma\">algoritma<\/a> ve y\u00f6ntem sunar. Bu yaz\u0131da,\u00a0<strong>Python&#8217;da Asal Say\u0131lar\u0131 bulma<\/strong>n\u0131n farkl\u0131 y\u00f6ntemlerini ve \u00f6rneklerini inceleyece\u011fiz.<\/p>\n<h2><strong>Asal Say\u0131 Nedir?<\/strong><\/h2>\n<p>Asal say\u0131lar, sadece kendileri ve 1&#8217;e b\u00f6l\u00fcnebilen say\u0131lard\u0131r. \u00d6rne\u011fin, 2, 3, 5, 7, 11, 13, 17, 19, 23 gibi say\u0131lar<strong>\u00a0Asal Say\u0131<\/strong>lard\u0131r. Ancak, 4, 6, 8, 9, 10, 12 gibi say\u0131lar<strong>\u00a0Asal Say\u0131<\/strong>\u00a0de\u011fildir.<\/p>\n<h2><strong>Asal Say\u0131<\/strong>lar\u0131n \u00d6zellikleri<\/h2>\n<p>Asal say\u0131lar\u0131n bir\u00e7ok \u00f6zelli\u011fi vard\u0131r. \u0130\u015fte baz\u0131lar\u0131:<\/p>\n<ul>\n<li>Asal say\u0131lar sadece kendileriyle ve 1 ile b\u00f6l\u00fcnebilirler.<\/li>\n<li>Her do\u011fal say\u0131,<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131n \u00e7arp\u0131m\u0131 \u015feklinde yaz\u0131labilir.<\/li>\n<li>En k\u00fc\u00e7\u00fck<strong>\u00a0Asal Say\u0131<\/strong>\u00a02&#8217;dir.<\/li>\n<li>Asal say\u0131lar\u0131n sonsuz say\u0131da oldu\u011fu kan\u0131tlanm\u0131\u015ft\u0131r.<\/li>\n<\/ul>\n<h2>Asal Say\u0131lar\u0131 Bulman\u0131n Y\u00f6ntemleri<\/h2>\n<p>Asal say\u0131lar\u0131 bulmak i\u00e7in bir\u00e7ok y\u00f6ntem vard\u0131r. \u0130\u015fte baz\u0131lar\u0131:<\/p>\n<h3>1. Kuvvet Metodu<\/h3>\n<p>Kuvvet metodu, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in kullan\u0131lan basit bir y\u00f6ntemdir. Bu y\u00f6ntemde, bir say\u0131n\u0131n 2&#8217;den kendisine kadar olan t\u00fcm say\u0131larla b\u00f6l\u00fcn\u00fcp b\u00f6l\u00fcnemedi\u011fi kontrol edilir. E\u011fer hi\u00e7bir say\u0131ya b\u00f6l\u00fcnemiyorsa, say\u0131 asal olarak kabul edilir.<\/p>\n<h3>2. Deneme B\u00f6lme Y\u00f6ntemi<\/h3>\n<p>Deneme b\u00f6lme y\u00f6ntemi, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in kullan\u0131lan bir ba\u015fka basit y\u00f6ntemdir. Bu y\u00f6ntemde, bir say\u0131n\u0131n 2&#8217;den kendisine kadar olan t\u00fcm say\u0131larla b\u00f6l\u00fcn\u00fcp b\u00f6l\u00fcnemedi\u011fi kontrol edilir. Ancak, bu y\u00f6ntem kaba bir y\u00f6ntemdir ve b\u00fcy\u00fck say\u0131lar i\u00e7in \u00e7ok zaman al\u0131r.<\/p>\n<h3>3. Fermat Testi<\/h3>\n<p>Fermat testi, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in kullan\u0131lan bir di\u011fer y\u00f6ntemdir. Bu y\u00f6ntemde, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in Fermat teoremi kullan\u0131l\u0131r. Fermat teoremi, p ve a tam say\u0131lar\u0131 olmak \u00fczere, a^(p-1) \u2261 1 (mod p) e\u015fitli\u011fi \u015feklinde ifade edilir. E\u011fer bu e\u015fitlik sa\u011flan\u0131yorsa, say\u0131 asal olarak kabul edilir.<\/p>\n<h3>4. Miller-Rabin Testi<\/h3>\n<p>Miller-Rabin testi, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in kullan\u0131lan bir di\u011fer y\u00f6ntemdir. Bu y\u00f6ntemde, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in Rabin-Miller teoremi kullan\u0131l\u0131r. Rabin-Miller teoremi, bir say\u0131n\u0131n asal olma olas\u0131l\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h3>5. Eratosthenes Y\u00f6ntemi<\/h3>\n<p>Eratosthenes y\u00f6ntemi, belirli bir aral\u0131ktaki t\u00fcm<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131 bulmak i\u00e7in kullan\u0131lan bir y\u00f6ntemdir. Bu y\u00f6ntemde, bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 belirlemek i\u00e7in 2&#8217;den ba\u015flayarak t\u00fcm say\u0131lar kontrol edilir. E\u011fer bir say\u0131 asal olarak kabul edilirse, bu say\u0131n\u0131n katlar\u0131 \u00e7\u0131kar\u0131l\u0131r ve kalan say\u0131lar tekrar kontrol edilir.<\/p>\n<h3>6. Atkins Y\u00f6ntemi<\/h3>\n<p>Atkins y\u00f6ntemi, belirli bir aral\u0131ktaki t\u00fcm<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131 bulmak i\u00e7in kullan\u0131lan bir y\u00f6ntemdir. Bu y\u00f6ntem, Eratosthenes y\u00f6ntemine benzer \u015fekilde \u00e7al\u0131\u015f\u0131r, ancak daha h\u0131zl\u0131d\u0131r. Atkins y\u00f6ntemi, 2, 3 ve 5 say\u0131lar\u0131n\u0131 baz al\u0131r ve bu say\u0131lar\u0131n katlar\u0131ndan olu\u015fan bir liste olu\u015fturur. Daha sonra, bu listedeki say\u0131lar \u00fczerinde \u00e7e\u015fitli i\u015flemler yaparak<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131 bulur.<\/p>\n<h2>Python&#8217;da<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131 Bulma<\/h2>\n<p>Python,<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131 bulmak i\u00e7in bir\u00e7ok algoritma ve y\u00f6ntem sunar. \u0130\u015fte baz\u0131lar\u0131:<\/p>\n<h3>1. Kuvvet Metodu ile\u00a0<strong>Asal Say\u0131 Bulma<\/strong><\/h3>\n<div>\n<div class=\"copy-btn gpt-copy-btn group\" data-code=\"def%20is_prime(n)%3A%0A%20%20%20%20if%20n%20%3C%3D%201%3A%0A%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20for%20i%20in%20range(2%2C%20n)%3A%0A%20%20%20%20%20%20%20%20if%20n%20%25%20i%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20return%20True%0A\"><\/div>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">is_prime<\/span>(<span class=\"hljs-params\">n<\/span>):\r\n    <span class=\"hljs-keyword\">if<\/span> n &lt;= <span class=\"hljs-number\">1<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> i <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">2<\/span>, n):\r\n        <span class=\"hljs-keyword\">if<\/span> n % i == <span class=\"hljs-number\">0<\/span>:\r\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">True<\/span>\r\n<\/code><\/pre>\n<\/div>\n<p>Bu kod, kuvvet metodu ile bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. E\u011fer say\u0131 asal ise True, de\u011filse False d\u00f6nd\u00fcr\u00fcr.<\/p>\n<h3>2. Deneme B\u00f6lme Y\u00f6ntemi ile\u00a0<strong>Asal Say\u0131 Bulma<\/strong><\/h3>\n<div>\n<div class=\"copy-btn gpt-copy-btn group\" data-code=\"def%20is_prime(n)%3A%0A%20%20%20%20if%20n%20%3C%3D%201%3A%0A%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20elif%20n%20%3C%3D%203%3A%0A%20%20%20%20%20%20%20%20return%20True%0A%20%20%20%20elif%20n%20%25%202%20%3D%3D%200%20or%20n%20%25%203%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20i%20%3D%205%0A%20%20%20%20while%20i%20*%20i%20%3C%3D%20n%3A%0A%20%20%20%20%20%20%20%20if%20n%20%25%20i%20%3D%3D%200%20or%20n%20%25%20(i%20%2B%202)%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20%20%20%20%20i%20%2B%3D%206%0A%20%20%20%20return%20True%0A\"><\/div>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">is_prime<\/span>(<span class=\"hljs-params\">n<\/span>):\r\n    <span class=\"hljs-keyword\">if<\/span> n &lt;= <span class=\"hljs-number\">1<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">elif<\/span> n &lt;= <span class=\"hljs-number\">3<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">True<\/span>\r\n    <span class=\"hljs-keyword\">elif<\/span> n % <span class=\"hljs-number\">2<\/span> == <span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">or<\/span> n % <span class=\"hljs-number\">3<\/span> == <span class=\"hljs-number\">0<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    i = <span class=\"hljs-number\">5<\/span>\r\n    <span class=\"hljs-keyword\">while<\/span> i * i &lt;= n:\r\n        <span class=\"hljs-keyword\">if<\/span> n % i == <span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">or<\/span> n % (i + <span class=\"hljs-number\">2<\/span>) == <span class=\"hljs-number\">0<\/span>:\r\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n        i += <span class=\"hljs-number\">6<\/span>\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">True<\/span>\r\n<\/code><\/pre>\n<\/div>\n<p>Bu kod, deneme b\u00f6lme y\u00f6ntemi ile bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Bu y\u00f6ntem, kuvvet metodu ile kar\u015f\u0131la\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda daha h\u0131zl\u0131d\u0131r.<\/p>\n<h3>3. Fermat Testi ile\u00a0<strong>Asal Say\u0131 Bulma<\/strong><\/h3>\n<div>\n<div class=\"copy-btn gpt-copy-btn group\" data-code=\"import%20random%0A%0Adef%20is_prime(n%2C%20k%3D5)%3A%0A%20%20%20%20if%20n%20%3C%3D%201%3A%0A%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20elif%20n%20%3C%3D%203%3A%0A%20%20%20%20%20%20%20%20return%20True%0A%20%20%20%20elif%20n%20%25%202%20%3D%3D%200%20or%20n%20%25%203%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20for%20i%20in%20range(k)%3A%0A%20%20%20%20%20%20%20%20a%20%3D%20random.randint(2%2C%20n%20-%202)%0A%20%20%20%20%20%20%20%20if%20pow(a%2C%20n%20-%201%2C%20n)%20!%3D%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20return%20True%0A\"><\/div>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">import<\/span> random\r\n\r\n<span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">is_prime<\/span>(<span class=\"hljs-params\">n, k=<span class=\"hljs-number\">5<\/span><\/span>):\r\n    <span class=\"hljs-keyword\">if<\/span> n &lt;= <span class=\"hljs-number\">1<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">elif<\/span> n &lt;= <span class=\"hljs-number\">3<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">True<\/span>\r\n    <span class=\"hljs-keyword\">elif<\/span> n % <span class=\"hljs-number\">2<\/span> == <span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">or<\/span> n % <span class=\"hljs-number\">3<\/span> == <span class=\"hljs-number\">0<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> i <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(k):\r\n        a = random.randint(<span class=\"hljs-number\">2<\/span>, n - <span class=\"hljs-number\">2<\/span>)\r\n        <span class=\"hljs-keyword\">if<\/span> <span class=\"hljs-built_in\">pow<\/span>(a, n - <span class=\"hljs-number\">1<\/span>, n) != <span class=\"hljs-number\">1<\/span>:\r\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">True<\/span>\r\n<\/code><\/pre>\n<\/div>\n<p>Bu kod, Fermat testi ile bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Bu y\u00f6ntem, deneme b\u00f6lme y\u00f6ntemi ile kar\u015f\u0131la\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda daha h\u0131zl\u0131d\u0131r.<\/p>\n<h3>4. Miller-Rabin Testi ile\u00a0<strong>Asal Say\u0131 Bulma<\/strong><\/h3>\n<div>\n<div class=\"copy-btn gpt-copy-btn group\" data-code=\"import%20random%0A%0Adef%20is_prime(n%2C%20k%3D5)%3A%0A%20%20%20%20if%20n%20%3C%3D%201%3A%0A%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20elif%20n%20%3C%3D%203%3A%0A%20%20%20%20%20%20%20%20return%20True%0A%20%20%20%20elif%20n%20%25%202%20%3D%3D%200%20or%20n%20%25%203%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20r%2C%20s%20%3D%200%2C%20n%20-%201%0A%20%20%20%20while%20s%20%25%202%20%3D%3D%200%3A%0A%20%20%20%20%20%20%20%20r%20%2B%3D%201%0A%20%20%20%20%20%20%20%20s%20%2F%2F%3D%202%0A%20%20%20%20for%20i%20in%20range(k)%3A%0A%20%20%20%20%20%20%20%20a%20%3D%20random.randint(2%2C%20n%20-%202)%0A%20%20%20%20%20%20%20%20x%20%3D%20pow(a%2C%20s%2C%20n)%0A%20%20%20%20%20%20%20%20if%20x%20%3D%3D%201%20or%20x%20%3D%3D%20n%20-%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20continue%0A%20%20%20%20%20%20%20%20for%20j%20in%20range(r%20-%201)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20x%20%3D%20pow(x%2C%202%2C%20n)%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20x%20%3D%3D%20n%20-%201%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20break%0A%20%20%20%20%20%20%20%20else%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20False%0A%20%20%20%20return%20True%0A\"><\/div>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">import<\/span> random\r\n\r\n<span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">is_prime<\/span>(<span class=\"hljs-params\">n, k=<span class=\"hljs-number\">5<\/span><\/span>):\r\n    <span class=\"hljs-keyword\">if<\/span> n &lt;= <span class=\"hljs-number\">1<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">elif<\/span> n &lt;= <span class=\"hljs-number\">3<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">True<\/span>\r\n    <span class=\"hljs-keyword\">elif<\/span> n % <span class=\"hljs-number\">2<\/span> == <span class=\"hljs-number\">0<\/span> <span class=\"hljs-keyword\">or<\/span> n % <span class=\"hljs-number\">3<\/span> == <span class=\"hljs-number\">0<\/span>:\r\n        <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    r, s = <span class=\"hljs-number\">0<\/span>, n - <span class=\"hljs-number\">1<\/span>\r\n    <span class=\"hljs-keyword\">while<\/span> s % <span class=\"hljs-number\">2<\/span> == <span class=\"hljs-number\">0<\/span>:\r\n        r += <span class=\"hljs-number\">1<\/span>\r\n        s \/\/= <span class=\"hljs-number\">2<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> i <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(k):\r\n        a = random.randint(<span class=\"hljs-number\">2<\/span>, n - <span class=\"hljs-number\">2<\/span>)\r\n        x = <span class=\"hljs-built_in\">pow<\/span>(a, s, n)\r\n        <span class=\"hljs-keyword\">if<\/span> x == <span class=\"hljs-number\">1<\/span> <span class=\"hljs-keyword\">or<\/span> x == n - <span class=\"hljs-number\">1<\/span>:\r\n            <span class=\"hljs-keyword\">continue<\/span>\r\n        <span class=\"hljs-keyword\">for<\/span> j <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(r - <span class=\"hljs-number\">1<\/span>):\r\n            x = <span class=\"hljs-built_in\">pow<\/span>(x, <span class=\"hljs-number\">2<\/span>, n)\r\n            <span class=\"hljs-keyword\">if<\/span> x == n - <span class=\"hljs-number\">1<\/span>:\r\n                <span class=\"hljs-keyword\">break<\/span>\r\n        <span class=\"hljs-keyword\">else<\/span>:\r\n            <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-literal\">True<\/span>\r\n<\/code><\/pre>\n<\/div>\n<p>Bu kod, Miller-Rabin testi ile bir say\u0131n\u0131n asal olup olmad\u0131\u011f\u0131n\u0131 kontrol eder. Bu y\u00f6ntem, Fermat testi ile kar\u015f\u0131la\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda daha g\u00fcvenilirdir.<\/p>\n<h3>5. Eratosthenes Y\u00f6ntemi ile\u00a0<strong>Asal Say\u0131 Bulma<\/strong><\/h3>\n<div>\n<div class=\"copy-btn gpt-copy-btn group\" data-code=\"def%20sieve(n)%3A%0A%20%20%20%20primes%20%3D%20%5BTrue%5D%20*%20(n%20%2B%201)%0A%20%20%20%20primes%5B0%5D%20%3D%20primes%5B1%5D%20%3D%20False%0A%20%20%20%20for%20i%20in%20range(2%2C%20int(n%20**%200.5)%20%2B%201)%3A%0A%20%20%20%20%20%20%20%20if%20primes%5Bi%5D%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20j%20in%20range(i%20*%20i%2C%20n%20%2B%201%2C%20i)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20primes%5Bj%5D%20%3D%20False%0A%20%20%20%20return%20%5Bi%20for%20i%20in%20range(n%20%2B%201)%20if%20primes%5Bi%5D%5D%0A\"><\/div>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">sieve<\/span>(<span class=\"hljs-params\">n<\/span>):\r\n    primes = [<span class=\"hljs-literal\">True<\/span>] * (n + <span class=\"hljs-number\">1<\/span>)\r\n    primes[<span class=\"hljs-number\">0<\/span>] = primes[<span class=\"hljs-number\">1<\/span>] = <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> i <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">2<\/span>, <span class=\"hljs-built_in\">int<\/span>(n ** <span class=\"hljs-number\">0.5<\/span>) + <span class=\"hljs-number\">1<\/span>):\r\n        <span class=\"hljs-keyword\">if<\/span> primes[i]:\r\n            <span class=\"hljs-keyword\">for<\/span> j <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(i * i, n + <span class=\"hljs-number\">1<\/span>, i):\r\n                primes[j] = <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">return<\/span> [i <span class=\"hljs-keyword\">for<\/span> i <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(n + <span class=\"hljs-number\">1<\/span>) <span class=\"hljs-keyword\">if<\/span> primes[i]]\r\n<\/code><\/pre>\n<\/div>\n<p>Bu kod, Eratosthenes y\u00f6ntemi ile belirli bir aral\u0131ktaki t\u00fcm<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131 bulur.<\/p>\n<h3>6. Atkins Y\u00f6ntemi ile\u00a0<strong>Asal Say\u0131 Bulma<\/strong><\/h3>\n<div>\n<div class=\"copy-btn gpt-copy-btn group\" data-code=\"def%20atkins(n)%3A%0A%20%20%20%20primes%20%3D%20%5BFalse%5D%20*%20(n%20%2B%201)%0A%20%20%20%20sqrt_n%20%3D%20int(n%20**%200.5)%20%2B%201%0A%20%20%20%20for%20x%20in%20range(1%2C%20sqrt_n)%3A%0A%20%20%20%20%20%20%20%20for%20y%20in%20range(1%2C%20sqrt_n)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20z%20%3D%204%20*%20x%20**%202%20%2B%20y%20**%202%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20z%20%3C%3D%20n%20and%20(z%20%25%2012%20%3D%3D%201%20or%20z%20%25%2012%20%3D%3D%205)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20primes%5Bz%5D%20%3D%20not%20primes%5Bz%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20z%20%3D%203%20*%20x%20**%202%20%2B%20y%20**%202%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20z%20%3C%3D%20n%20and%20z%20%25%2012%20%3D%3D%207%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20primes%5Bz%5D%20%3D%20not%20primes%5Bz%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20z%20%3D%203%20*%20x%20**%202%20-%20y%20**%202%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20x%20%3E%20y%20and%20z%20%3C%3D%20n%20and%20z%20%25%2012%20%3D%3D%2011%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20primes%5Bz%5D%20%3D%20not%20primes%5Bz%5D%0A%20%20%20%20for%20i%20in%20range(5%2C%20sqrt_n)%3A%0A%20%20%20%20%20%20%20%20if%20primes%5Bi%5D%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20for%20j%20in%20range(i%20**%202%2C%20n%20%2B%201%2C%20i%20**%202)%3A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20primes%5Bj%5D%20%3D%20False%0A%20%20%20%20return%20%5B2%2C%203%5D%20%2B%20%5Bi%20for%20i%20in%20range(5%2C%20n%20%2B%201)%20if%20primes%5Bi%5D%5D%0A\"><\/div>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-keyword\">def<\/span> <span class=\"hljs-title function_\">atkins<\/span>(<span class=\"hljs-params\">n<\/span>):\r\n    primes = [<span class=\"hljs-literal\">False<\/span>] * (n + <span class=\"hljs-number\">1<\/span>)\r\n    sqrt_n = <span class=\"hljs-built_in\">int<\/span>(n ** <span class=\"hljs-number\">0.5<\/span>) + <span class=\"hljs-number\">1<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> x <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">1<\/span>, sqrt_n):\r\n        <span class=\"hljs-keyword\">for<\/span> y <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">1<\/span>, sqrt_n):\r\n            z = <span class=\"hljs-number\">4<\/span> * x ** <span class=\"hljs-number\">2<\/span> + y ** <span class=\"hljs-number\">2<\/span>\r\n            <span class=\"hljs-keyword\">if<\/span> z &lt;= n <span class=\"hljs-keyword\">and<\/span> (z % <span class=\"hljs-number\">12<\/span> == <span class=\"hljs-number\">1<\/span> <span class=\"hljs-keyword\">or<\/span> z % <span class=\"hljs-number\">12<\/span> == <span class=\"hljs-number\">5<\/span>):\r\n                primes[z] = <span class=\"hljs-keyword\">not<\/span> primes[z]\r\n            z = <span class=\"hljs-number\">3<\/span> * x ** <span class=\"hljs-number\">2<\/span> + y ** <span class=\"hljs-number\">2<\/span>\r\n            <span class=\"hljs-keyword\">if<\/span> z &lt;= n <span class=\"hljs-keyword\">and<\/span> z % <span class=\"hljs-number\">12<\/span> == <span class=\"hljs-number\">7<\/span>:\r\n                primes[z] = <span class=\"hljs-keyword\">not<\/span> primes[z]\r\n            z = <span class=\"hljs-number\">3<\/span> * x ** <span class=\"hljs-number\">2<\/span> - y ** <span class=\"hljs-number\">2<\/span>\r\n            <span class=\"hljs-keyword\">if<\/span> x &gt; y <span class=\"hljs-keyword\">and<\/span> z &lt;= n <span class=\"hljs-keyword\">and<\/span> z % <span class=\"hljs-number\">12<\/span> == <span class=\"hljs-number\">11<\/span>:\r\n                primes[z] = <span class=\"hljs-keyword\">not<\/span> primes[z]\r\n    <span class=\"hljs-keyword\">for<\/span> i <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">5<\/span>, sqrt_n):\r\n        <span class=\"hljs-keyword\">if<\/span> primes[i]:\r\n            <span class=\"hljs-keyword\">for<\/span> j <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(i ** <span class=\"hljs-number\">2<\/span>, n + <span class=\"hljs-number\">1<\/span>, i ** <span class=\"hljs-number\">2<\/span>):\r\n                primes[j] = <span class=\"hljs-literal\">False<\/span>\r\n    <span class=\"hljs-keyword\">return<\/span> [<span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>] + [i <span class=\"hljs-keyword\">for<\/span> i <span class=\"hljs-keyword\">in<\/span> <span class=\"hljs-built_in\">range<\/span>(<span class=\"hljs-number\">5<\/span>, n + <span class=\"hljs-number\">1<\/span>) <span class=\"hljs-keyword\">if<\/span> primes[i]]\r\n<\/code><\/pre>\n<\/div>\n<p>Bu kod, Atkins y\u00f6ntemi ile belirli bir aral\u0131ktaki t\u00fcm<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131 bulur.<\/p>\n<h2><strong>\u00d6rnekler<\/strong><\/h2>\n<ol>\n<li>37 say\u0131s\u0131<strong>\u00a0Asal Say\u0131<\/strong>d\u0131r.<\/li>\n<li>100 say\u0131s\u0131<strong>\u00a0Asal Say\u0131<\/strong>\u00a0de\u011fildir.<\/li>\n<li>457 say\u0131s\u0131<strong>\u00a0Asal Say\u0131<\/strong>d\u0131r.<\/li>\n<li>1000 say\u0131s\u0131<strong>\u00a0Asal Say\u0131<\/strong>\u00a0de\u011fildir.<\/li>\n<\/ol>\n<h2><strong>Uygulamalar<\/strong><\/h2>\n<p>Asal say\u0131lar, kriptografi, matematik, bilgisayar bilimi ve di\u011fer bir\u00e7ok alanda kullan\u0131l\u0131r. \u00d6rne\u011fin:<\/p>\n<ul>\n<li>Kriptografi:<strong>\u00a0Asal Say\u0131<\/strong>lar, \u015fifreleme algoritmalar\u0131nda kullan\u0131l\u0131r.<\/li>\n<li>Matematik:<strong>\u00a0Asal Say\u0131<\/strong>lar, matemati\u011fin bir\u00e7ok alan\u0131nda kullan\u0131l\u0131r.<\/li>\n<li>Bilgisayar Bilimi:<strong>\u00a0Asal Say\u0131<\/strong>lar, veri \u015fifreleme, rastgele say\u0131 olu\u015fturma ve di\u011fer bir\u00e7ok alanda kullan\u0131l\u0131r.<\/li>\n<\/ul>\n<h2>Sonu\u00e7<\/h2>\n<p><strong>Python, Asal Say\u0131lar\u0131 bulma<\/strong>k i\u00e7in bir\u00e7ok algoritma ve y\u00f6ntem sunar. Bu yaz\u0131da, kuvvet metodu, deneme b\u00f6lme y\u00f6ntemi, Fermat testi, Miller-Rabin testi, Eratosthenes y\u00f6ntemi ve Atkins y\u00f6ntemi gibi y\u00f6ntemlerin Python&#8217;da nas\u0131l uygulanaca\u011f\u0131n\u0131 inceledik. Ayr\u0131ca,<strong>\u00a0Asal Say\u0131<\/strong>lar\u0131n \u00f6zellikleri, \u00f6rnekleri ve uygulamalar\u0131 hakk\u0131nda bilgi verdik.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python\u00a0Asal Say\u0131 Bulma: Algoritmalar, \u00d6rnekler ve Uygulamalar Asal say\u0131lar, matematiksel bir kavramd\u0131r ve sadece kendileri ve 1&#8217;e b\u00f6l\u00fcnebilen say\u0131lard\u0131r. Asall\u0131k<\/p>\n","protected":false},"author":2,"featured_media":1802,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1801","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-genel"],"_links":{"self":[{"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=1801"}],"version-history":[{"count":1,"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1801\/revisions"}],"predecessor-version":[{"id":1803,"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1801\/revisions\/1803"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/media\/1802"}],"wp:attachment":[{"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=1801"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=1801"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/markahost.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=1801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}