Skocz do zawartości


Zdjęcie

[pascal]Liczby pierwsze


  • Zamknięty Temat jest zamknięty
1 odpowiedź w tym temacie

#1 Almond

Almond

    Nowy

  • 1 postów

Napisano 18 02 2008 - 00:32

Mam taką prośbę czy mógłby mi ktoś wyjaśnić te programy??

function CzyMersennea(liczba: Integer): Boolean;
var
l: Integer;
begin
l := liczba+1;
while l <> 1 do
begin
if l mod 2 <> 0 then
Break;
l := l div 2;
end;
Result := l = 1;
end;


procedure GenerujPierwszeMersennea(ile: Integer);
var
p, k, l: Integer;
begin
p := 2;
k := 0;
while k < ile do
begin
if p > 31 then
begin
Writeln('UWAGA: zakonczono generowanie ze wzgledu na moc typu Integer');
Break;
end;

l := Potega(2, p) - 1;
if CzyPierwsza(l) then
begin
Inc(k);
Writeln(k, ': ', l);
end;
Inc(p);
end;
end;

Wysłane po 31 sekundach:

function CzyPseudopierwsza(liczba: Integer): Boolean;
var
l: Integer;
begin
if liczba < 32 then
l := Potega(2, liczba)-2;
Result := l mod liczba = 0;
end;

procedure GenerujPseudopierwsze(ile: Integer);
var
p, l, k: Integer;
begin
k := 0;
p := 1;
while k < ile do
begin
if p > 31 then
begin
Writeln('UWAGA: zakonczono generowanie ze wzgledu na moc typu Integer');
Break;
end;
l := Potega(2, p)-2;
if (l mod p) = 0 then
begin
Inc(k);
Writeln(k, ': ', p);
end;
Inc(p);
end;
end;


  • 0

#2 Marko_

Marko_

    Stały użytkownik

  • 279 postów

Napisano 28 02 2008 - 21:52

No cóż to raczej Pascal nie Delphi chyba że jest to aplikacja na Konsole ale raczej TP7.0. Szkoda że nie wkleiłeś całego programu.
Procedury i funkcje ogólnie szukają "Liczb pierwszych Mersennea"

http://math.pobieralnia.com/geometria/licz...rwsze-mersennea

Jak działają ?. Hmm, są to proste instrukcje języka Pascal, zupełne podstawy, brak - obiektów, rekordów, zbiorów, tablic ...
Naprawdę nie rozumiem w czym problem. Sprecyzuj pytanie :)

  • 0

Zobacz więcej tematów z tagiem: Turbo Pascal



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych