Liczby pierwsze w przedziale z c++ na pascal

0

Witam ,
Proszę o pomoc . Mianowicie mam kod w c++ i chciałbym go mieć w pascalu ale nie bardzo wiem jak to zamienić .

Kod poniżej :

#include <iostream>
using namespace std;
 
const int n = 100;
 
bool numbersTable[n + 1]; // tablica o indeksach od 0 do 100 | wszystkie false (czyli: 0);
 
int main()
{
	for (int i = 2; i*i <= n; i++ ) // przeszukuj liczby od 2 do sqrt(n), 0 i 1 nie są liczbami pierwszymi
	{
		if (numbersTable[i] == true) // jeżeli dana liczb jest już wykreślona
			continue; // to przejdź do kolejnej
		for (int j = 2 * i ; j <= n; j += i) // przejdź od liczby 2 * i do n przesuwając się o i
			numbersTable[j] = true; // i każdą z nich usuwaj ze zbioru
	}
 
	cout << "Liczby pierwsze z przedziału od 2 do " << n << ":" << endl;
 
	for (int i = 2; i <= n; i++) // przeszukaj liczby od 2 do n
		if (numbersTable[i] == false) // jeśli liczba nie została usunięta ze zbioru
			cout << i << endl; // to ją wypisz
	return 0;
}

 
0

Nie bardzo wiesz, jak zmienić, więc zapewne nie wiesz także, co dokładnie robi ten program.
Ja też Ci nie powiem, co robi ten kod. A musisz wiedzieć, że niekoniecznie robi to samo.

program Sito;
const max = 1000;
var i, n: Integer;
    t: array[1..max] of Boolean;
begin
   for n:= 1 to max do t[n]:= false;
   for i:= 2 to Round(Sqrt(max)) do
     if not t[i] then
       for n:= 2 to max div i do t[i*n]:= true;
   for n:= 2 to max do if not t[n] then Write(n:5);
   Readln;
end.

PS. Nauczyciel uwierzy, że sam to napisałeś?

0

poradziłem sobie sam . Napisałem samodzielnie program i znacznie prościej

1 użytkowników online, w tym zalogowanych: 0, gości: 1