<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Atebar Haider</title>
    <description>The latest articles on DEV Community by Atebar Haider (@atebarhaider).</description>
    <link>https://dev.to/atebarhaider</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F258553%2F643df5a9-0196-484c-8b8a-8a5e0c5f543d.jpg</url>
      <title>DEV Community: Atebar Haider</title>
      <link>https://dev.to/atebarhaider</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/atebarhaider"/>
    <language>en</language>
    <item>
      <title>Binary Search Algorithm</title>
      <dc:creator>Atebar Haider</dc:creator>
      <pubDate>Tue, 29 Sep 2020 14:52:14 +0000</pubDate>
      <link>https://dev.to/atebarhaider/binary-search-algorithm-199o</link>
      <guid>https://dev.to/atebarhaider/binary-search-algorithm-199o</guid>
      <description>&lt;p&gt;Binary search algorithm is an efficient algorithm that searches a sorted list for a desired or target element. &lt;/p&gt;

&lt;p&gt;Binary search works by comparing the target value to the middle element of the list. &lt;br&gt;
If the target value is greater than the middle element, the left half of the list is eliminated from the search space, and the search continues in the right half. &lt;/p&gt;

&lt;p&gt;If the target value is less than the middle value, the right half is eliminated from the search space, and the search continues in the left half. &lt;/p&gt;

&lt;p&gt;This process is repeated until the middle element is equal to the target value, or if the algorithm returns that the element is not in the list at all.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The &lt;em&gt;Worst Case Time Complexity&lt;/em&gt; is &lt;strong&gt;O(log n)&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
  
  
  Algorithm:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The variable &lt;strong&gt;start&lt;/strong&gt; is set to 0 and &lt;strong&gt;end&lt;/strong&gt; is set to the length of the list.&lt;/li&gt;
&lt;li&gt;The variable &lt;strong&gt;start&lt;/strong&gt; keeps track of the first element in the part of the list being searched while &lt;strong&gt;end&lt;/strong&gt; keeps track of the element one after the end of the part being searched.&lt;/li&gt;
&lt;li&gt;A while loop is created that iterates as long as &lt;strong&gt;start&lt;/strong&gt; is less than &lt;strong&gt;end&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mid&lt;/strong&gt; is calculated as the floor of the average of &lt;strong&gt;start&lt;/strong&gt; and &lt;strong&gt;end&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If the element at index &lt;strong&gt;mid&lt;/strong&gt; is less than &lt;strong&gt;key&lt;/strong&gt; (i.e. desired element) then &lt;strong&gt;start&lt;/strong&gt; is set to &lt;strong&gt;mid + 1&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If it is larger than &lt;strong&gt;key&lt;/strong&gt; then &lt;strong&gt;end&lt;/strong&gt; is set to &lt;strong&gt;mid&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Otherwise, the element at &lt;strong&gt;mid&lt;/strong&gt; index will be equal to &lt;strong&gt;key&lt;/strong&gt; which is returned as the index of the found element.&lt;/li&gt;
&lt;li&gt;If no such item is found, -1 is returned.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's take an example, suppose we have following list:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;List_Item&lt;/th&gt;
&lt;th&gt;21&lt;/th&gt;
&lt;th&gt;23&lt;/th&gt;
&lt;th&gt;24&lt;/th&gt;
&lt;th&gt;35&lt;/th&gt;
&lt;th&gt;45&lt;/th&gt;
&lt;th&gt;48&lt;/th&gt;
&lt;th&gt;56&lt;/th&gt;
&lt;th&gt;77&lt;/th&gt;
&lt;th&gt;89&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Index&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;And we want search if 24 is present in the list or not.&lt;/p&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
According to the algorithm we need to set some variables&lt;br&gt;
&lt;strong&gt;start = 0&lt;/strong&gt;                &lt;em&gt;(index of first element)&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;end = 8&lt;/strong&gt;                  &lt;em&gt;(index of last element)&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;mid =  4 = (0+8)/2&lt;/strong&gt;       &lt;em&gt;(index of middle element)&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;List_Item&lt;/th&gt;
&lt;th&gt;21&lt;/th&gt;
&lt;th&gt;23&lt;/th&gt;
&lt;th&gt;24&lt;/th&gt;
&lt;th&gt;35&lt;/th&gt;
&lt;th&gt;45&lt;/th&gt;
&lt;th&gt;48&lt;/th&gt;
&lt;th&gt;56&lt;/th&gt;
&lt;th&gt;77&lt;/th&gt;
&lt;th&gt;89&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Index&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Positions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;start&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;mid&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;end&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Now we will arrange the variables according to current value of &lt;strong&gt;mid&lt;/strong&gt; index i.e 48&lt;br&gt;
If the element at index &lt;strong&gt;mid&lt;/strong&gt; (i.e. 48 ) is less than &lt;strong&gt;24&lt;/strong&gt; then &lt;strong&gt;start&lt;/strong&gt; is set to &lt;strong&gt;mid + 1&lt;/strong&gt;&lt;br&gt;
And  if the element at index &lt;strong&gt;mid&lt;/strong&gt; (i.e.48) is larger than &lt;strong&gt;24&lt;/strong&gt; then &lt;strong&gt;end&lt;/strong&gt; is set to &lt;strong&gt;mid&lt;/strong&gt;&lt;br&gt;
Otherwise, the element at &lt;strong&gt;mid&lt;/strong&gt; index will be equal to &lt;strong&gt;24&lt;/strong&gt; which is returned as the index of the found element.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
 We can clearly see that &lt;strong&gt;24 &amp;lt; list[mid]&lt;/strong&gt;, so we will make following changes.&lt;br&gt;
&lt;strong&gt;start = 0&lt;/strong&gt;   &lt;em&gt;no changes&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;end = 4&lt;/strong&gt;     &lt;em&gt;current mid&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;mid = 2 = (0+4) / 2&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;List_Item&lt;/th&gt;
&lt;th&gt;21&lt;/th&gt;
&lt;th&gt;23&lt;/th&gt;
&lt;th&gt;24&lt;/th&gt;
&lt;th&gt;35&lt;/th&gt;
&lt;th&gt;45&lt;/th&gt;
&lt;th&gt;48&lt;/th&gt;
&lt;th&gt;56&lt;/th&gt;
&lt;th&gt;77&lt;/th&gt;
&lt;th&gt;89&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Index&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;6&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Positions&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;start&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;mid&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;end&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;em&gt;We will repeat this process until &lt;strong&gt;start &amp;lt; end&lt;/strong&gt;&lt;/em&gt;. &lt;em&gt;If &lt;strong&gt;start&lt;/strong&gt; goes to less than &lt;strong&gt;end&lt;/strong&gt; that mean element is not present in the list.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Now if we analyze the current positions of variable, we can clearly that 24 is equal to value of &lt;strong&gt;mid&lt;/strong&gt; index. We will return this index.&lt;/p&gt;

&lt;p&gt;Following is the implementaion of binary search algorithm in Python&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;binary_search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mylist&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="s"&gt;"""Search key in mylist [start... end - 1]."""&lt;/span&gt;
    &lt;span class="n"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mylist&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;start&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;mid&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;start&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;//&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;mylist&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mid&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mid&lt;/span&gt;
        &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;mylist&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;mid&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;start&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;mid&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;mid&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;


&lt;span class="n"&gt;mylist&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;35&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;45&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;48&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;56&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;77&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;89&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;24&lt;/span&gt;

&lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;binary_search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mylist&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;key&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;key&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;' was not found.’)
else:
    print(key , '&lt;/span&gt;&lt;span class="n"&gt;was&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt; &lt;span class="n"&gt;at&lt;/span&gt; &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="s"&gt;', index)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  OUTPUT:
&lt;/h4&gt;

&lt;p&gt;24 was found at index 2.&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>tutorial</category>
      <category>python</category>
    </item>
    <item>
      <title>Sieve of Eratosthenes Algorithm to find Prime Number</title>
      <dc:creator>Atebar Haider</dc:creator>
      <pubDate>Mon, 28 Sep 2020 04:16:34 +0000</pubDate>
      <link>https://dev.to/atebarhaider/sieve-of-eratosthenes-algorithm-4ol</link>
      <guid>https://dev.to/atebarhaider/sieve-of-eratosthenes-algorithm-4ol</guid>
      <description>&lt;p&gt;&lt;strong&gt;Sieve of Eratosthenes&lt;/strong&gt; is a simple and ancient algorithm used to find the prime numbers up to any given limit. It is one of the most efficient ways to find small prime numbers.&lt;/p&gt;

&lt;p&gt;For a given upper limit &lt;strong&gt;n&lt;/strong&gt; the algorithm works by iteratively marking the multiples of primes as composite, starting from &lt;strong&gt;2&lt;/strong&gt;. Once all multiples of &lt;strong&gt;2&lt;/strong&gt; have been marked composite, the multiples of next prime, &lt;strong&gt;i.e. 3&lt;/strong&gt; are marked composite. This process continues until &lt;b&gt;p*p ≤ n&lt;/b&gt; where &lt;strong&gt;p&lt;/strong&gt; is the current prime number.&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;Following is the algorithm of Sieve of Eratosthenes to find prime numbers.&lt;/em&gt;
&lt;/h5&gt;

&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; To find out all primes under n, generate a list of all integers from 2 to n. &lt;/p&gt;

&lt;h6&gt;
  
  
  (Note: 1 is not a prime number)
&lt;/h6&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Start with a smallest prime number, &lt;strong&gt;i.e. p = 2&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Mark all the multiples of p which are less than n as composite. To do this, we will mark the number as &lt;strong&gt;0&lt;/strong&gt;.  &lt;em&gt;(Do not mark p itself as composite.)&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; Assign the value of &lt;strong&gt;p&lt;/strong&gt; to the next non-zero number in the list which is greater than &lt;strong&gt;p&lt;/strong&gt;.&lt;br&gt;
&lt;strong&gt;5.&lt;/strong&gt; Repeat the process until &lt;strong&gt;p*p ≤ n&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Example: Generate all the primes up to 11&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;First thing to note is that do not mark prime themselves as composite.&lt;br&gt;
&lt;strong&gt;1.&lt;/strong&gt; Create a list of integers from 2 to 11. &lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;2&lt;/th&gt;
&lt;th&gt;3&lt;/th&gt;
&lt;th&gt;4&lt;/th&gt;
&lt;th&gt;5&lt;/th&gt;
&lt;th&gt;6&lt;/th&gt;
&lt;th&gt;7&lt;/th&gt;
&lt;th&gt;8&lt;/th&gt;
&lt;th&gt;9&lt;/th&gt;
&lt;th&gt;10&lt;/th&gt;
&lt;th&gt;11&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Start with &lt;strong&gt;p=2&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;3.&lt;/strong&gt; Since &lt;strong&gt;2*2  ≤ 11&lt;/strong&gt;, continue.&lt;br&gt;
&lt;strong&gt;4.&lt;/strong&gt; Mark all &lt;strong&gt;multiples of 2 as composite&lt;/strong&gt; by setting their value as &lt;strong&gt;0&lt;/strong&gt; in the list.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;2&lt;/th&gt;
&lt;th&gt;3&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;5&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;7&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;9&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;11&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; Assign the value of &lt;strong&gt;p&lt;/strong&gt;  to the next prime, &lt;strong&gt;i.e. 3&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;6.&lt;/strong&gt; Since &lt;strong&gt;3*3 ≤ 11&lt;/strong&gt; , continue.&lt;br&gt;
&lt;strong&gt;7.&lt;/strong&gt; Mark all &lt;strong&gt;multiples of 3 as composite&lt;/strong&gt; by setting their value as &lt;strong&gt;0&lt;/strong&gt; in the list.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;2&lt;/th&gt;
&lt;th&gt;3&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;5&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;7&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;11&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;8.&lt;/strong&gt; Assign the value of &lt;strong&gt;p to 5&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;9.&lt;/strong&gt; Since &lt;strong&gt;5*5 ≰ 11&lt;/strong&gt; so we &lt;strong&gt;stop&lt;/strong&gt; here.&lt;br&gt;
&lt;em&gt;We are done! The list is:&lt;/em&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;2&lt;/th&gt;
&lt;th&gt;3&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;5&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;7&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;0&lt;/th&gt;
&lt;th&gt;11&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Since all the numbers which are 0 are composite, all the non-zero numbers are prime. &lt;/p&gt;

&lt;p&gt;Hence the prime numbers up to 11 are &lt;strong&gt;2, 3, 5, 7, 11&lt;/strong&gt;&lt;br&gt;
 &lt;/p&gt;

&lt;p&gt;&lt;em&gt;Python program to print all primes smaller than or equal to a given limit using Sieve of Eratosthenes.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Enter an integer number:"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;prime&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt; &lt;span class="c1"&gt;# An empty list
&lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;prime&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;prime&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="n"&gt;prime&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;   

&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;
&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; 
    &lt;span class="c1"&gt;# If prime[p] is not changed, then it is a prime 
&lt;/span&gt;    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; 
        &lt;span class="c1"&gt;# Update all multiples of p to zero
&lt;/span&gt;        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt; 
            &lt;span class="n"&gt;prime&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

    &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;

&lt;span class="c1"&gt;#print all element of list which are not zero
&lt;/span&gt;&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"All the prime numbers up to"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s"&gt;"are:"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nb"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prime&lt;/span&gt;&lt;span class="p"&gt;)):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prime&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prime&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;end&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s"&gt;" "&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;OUTPUT:&lt;/strong&gt;&lt;br&gt;
Enter an integer number:30&lt;br&gt;
All the prime numbers up to 30 are:&lt;br&gt;
2 3 5 7 11 13 17 19 23 29&lt;/p&gt;

</description>
      <category>algorithms</category>
      <category>python</category>
    </item>
  </channel>
</rss>
