Google
 
Strona główna Darmowe programy, shareware Programowanie MS Excel Porady komputerowe Bazy danych Kontakt

Sito Eratostenesa Pascal, C++


Sito Eratostenesa



Jest to algorytm pozwalający wyznaczyć wszystkie liczby pierwsze z zakresu od 2 do n. Działanie algorytmu polega na "wykreślaniu" wielokrotności kolejnych liczb.

Sito Eratostenesa - program w języku Pascal

program sito;

const rozmiar =20;

var tablica:array [2..rozmiar] of boolean;
i,j:integer;

begin

{zainicjowanie tablicy wartosciami true}

for i:=2 to rozmiar do tablica[i]:=true;

{sito}

for i:=2 to rozmiar do
if (tablica[i]=true) then
begin
j:=2*i;
while (j<=rozmiar) do
begin
tablica[j]:=false;
j:=j+i;
end;
end;

{wypisanie liczb pierwszych na ekran}

for i:=2 to rozmiar do
if (tablica[i]=true) then write(i,', ');

readln;

end.

Sito Eratostenesa - program w języku C++



#include <cstdlib>
#include <iostream>

using namespace std;

const int rozmiar = 20;

int main(int argc, char *argv[])
{

bool tablica[rozmiar+2];
int i,j;

/* zainicjowanie tablicy wartosciami true */

for (i=0;i<=rozmiar+1;i++)
tablica[i]= true;

/* sito */

for (i=2;i<=rozmiar;i++)
if (tablica[i]==true)
{
j=2*i;
while (j<=rozmiar)
{
tablica[j]=false;
j=j+i;
}
}

/* wypisanie liczb pierwszych na ekran */


for (i=2;i<=rozmiar;i++)
if (tablica[i]==true) cout << i << ", " ;


cout << "\n";

system("PAUSE");
return EXIT_SUCCESS;
}


Sito Eratostenesa - program w języku Java

public class sito
{


public static void main(String[] arg)
{

int rozmiar;
rozmiar = 20;

boolean[] tablica = new boolean[rozmiar+2];
int i,j;

/* zainicjowanie tablicy wartosciami true */

for (i=0;i<=rozmiar+1;i++)
tablica[i]= true;

/* sito */

for (i=2;i<=rozmiar;i++)
if (tablica[i]==true)
{
j=2*i;
while (j<=rozmiar)
{
tablica[j]=false;
j=j+i;
}
}

/* wypisanie liczb pierwszych na ekran */


for (i=2;i<=rozmiar;i++)
if (tablica[i]==true) System.out.print(i+", ") ;
}


}

sito eratostenesa - program w języku java w działaniu


Sito Eratostenesa - program w Delphi

procedure TForm1.Button1Click(Sender: TObject);

const rozmiar =20;
var tablica:array [2..rozmiar] of boolean;
i,j:integer;

begin
Memo1.Clear;

{zainicjowanie tablicy wartosciami true}

for i:=2 to rozmiar do tablica[i]:=true;

{sito}

for i:=2 to rozmiar do
if (tablica[i]=true) then
begin
j:=2*i;
while (j<=rozmiar) do
begin
tablica[j]:=false;
j:=j+i;
end;
end;

{wypisanie liczb pierwszych na ekran}

for i:=2 to rozmiar do
if (tablica[i]=true) then Memo1.Text:=Memo1.Text +intToStr(i)+', ';

end;

sito eratostenesa - okno programu w Delphi








 

Copyright © 2006-2010 programowaniePC.pl