Kody źródłowe/Liczby pierwsze

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Liczby pierwsze
Kod źródłowy
Liczby pierwsze

JavaScript[edytuj]

Kod wyświetlający listę w języku JavaScript:

<script type="text/javascript">

function podzielna(a) {
  with(Math)b=floor(sqrt(a));c=false;
  for(i=2;i<=b;i++)
    {if(a%i==0){c=true;break;}
  }
  return c;
}

j=1;
d=2;
while(j<=2000){
  b=podzielna(d);
  if(!b){
    if(j%500==1) {
      document.write("<table><tr><td valign='top' style='padding:10px'>");
    }
    if(j%100==1) {
      document.write("<table border style='border:solid 2px silver' ");
      document.write("cellspacing='0' cellpadding='3'>");
      document.write("<tr style='font-weight:bold;background:#eeeeee'>");
      document.write("<td>L.p.</td><td>Liczba</td></tr>");
    }
    document.write("<tr><td>"+j+"</td><td>"+d+"</td></tr>");
    if(j%100==0) {
      document.write("</table>");
    }
    if(j%500==100||j%500==200||j%500==300||j%500==400) {
      document.write("</td><td valign='top' style='padding:10px'>");
    }
    if(j%500==0) {
      document.write("</table></td></tr></table><br/><br/>");
    }
    j++;
  }
  d++;
}

</script>

Haskell[edytuj]

Kod implementujący listę liczb pierwszych napisany w Haskellu.

primes :: [Integer]
primes = map head $ iterate (\(x:xs)->[y| y<-xs, y `mod` x /= 0]) [2..]

Python[edytuj]

Wersja edukacyjna[edytuj]

Generator zwracający listę liczb pierwszych mniejszych niż dany limit w Pythonie.

def primes(limit):
    tab=[]       # robocza lista liczb pierwszych, poniewaz jest to generator to sie zachowuje miedzy wywolaniami
    for i in range(2,limit):     #  rozwazamy liczby od 2 w górę ale mniejsze niż limit
        for j in tab:            # dla wszystkich do tej pory znalezionych liczb pierwszych
            if i % j == 0: break # sprawdzamy czy ktoras jest dzielnikiem, jesli jest to i nie jest liczba pierwsza
        else: # a jesli nie ma mniejszej od i liczby pierwszej z tab ktora jest jej dzielnikiem to i jest liczba pierwsza
            yield i              
            tab.append(i)        
 
for i in primes(100):
    print(i)

Wersja a la Haskell[edytuj]

# wszystkie liczby od 2 do 99 dla ktorych wszystkie liczby z tego zakresu mniejsze od nich nie sa ich dzielnikami
primes = ( i for i in range(2,100) if all( i%j for j in range(2,i) ) )

C#[edytuj]

C#: program zapisujący liczby pierwsze do pamięci, a następnie wypisujący je na konsoli.

            List<uint> pierwsze = new List<uint>();
            for (uint i = 100000000; i < uint.MaxValue; i++)
            {
                bool pierwsza = true;
                for (uint n = 2; n < i; n++)
                {
                    if (i % n == 0)
                    {
                        pierwsza = false;
                        break;
                    }
                }
                if (pierwsza)
                {
                    pierwsze.Add(i);
                }
            }
            foreach (uint p in pierwsze)
            {
                Console.WriteLine(p.ToString());
            }


Public Domain
Ten tekst nie podlega pod prawa autorskie. Jest zatem własnością publiczną, ponieważ jego autor udostępnił go na licencji public domain.