Witam mam problem. Mam program napisany w konsoli, ale muszę go zmienić na program obiektowy. Ogólnie treść zadania brzmi tak :
Liczba Mersenne'a to liczba pierwsza postaci 2^p-1, przy czym p samo jest
Tu jest kod który wypisuje te liczby, ale kompletnie nie wiem co gdzie przypisać.
program Liczba;
{$APPTYPE CONSOLE}
uses
Math,
SysUtils;
function ND(N: Int64): Int64;
var
i: Int64;
begin
if N<2 then ND := 0
else
if N<4 then ND := N
else
if (N mod 2=0) then ND := 2
else
if (N mod 3=0) then ND := 3
else
begin
ND := N; i := 1;
while 6*i-1<=Int(Power(N, 0.5)) do
begin
if N mod(6*i-1)=0 then
begin
ND := 6*i-1; Break;
end
else
if N mod(6*i+1)=0 then
begin
ND := 6*i+1; Break;
end;
if i mod 1000000=0 then
Write( #13, i div 1000000, 'M (',
100.0*i/Int(Power(N, 0.5)): 0:1, '%)'#13 );
Inc(i);
end
end;
end;
var
znak: Char;
i, iND, M, K: Int64;
mar:real;
begin
Writeln( 'Program szuka liczb Mersenne '
+ 'z podanego zakresu.' );
repeat
Write(#13#10#13#10'Podaj poczatek zakresu: '); Readln(M);
Write('Podaj koniec zakresu: '); Readln(K);
if (M=1) or (M=2) then
writeln (2, ' - ', 3);
if (M mod 2=0)then M := M + 1;
i:=M;
while i<K do
begin
iND := ND(i);
if (iND=i) then
begin
mar := Power (2,i) -1;
Writeln(i, ' - ',mar:0:0);
end;
i := i + 2;
end;
Write(#13#10#13#10'Czy rozpoczac nowe wyszukiwanie [T/N]? '); Readln(znak);
until UpCase(znak)<>'T';
end.
W załączniku wysyłam zdjęcie jak to ma mniej więcej wyglądać.