Mam takie zadanie z którym nie mogę sobie poradzić:
Liczba Mersenne'a to liczba pierwsza postaci 2^p-1, przy czym p samo jest
liczbš pierwszš. Napisz program znajdujšcy takie liczby w przedziale [1, a].
już kompletnie zgłupiałem nad tym programem doszedlem do czegoś takiego:
uses math;
procedure TForm1.Button1Click(Sender: TObject);
Var N, K : Integer;
i,b,d, j : Integer;
Licz : Integer;
potega:extended;
y:string;
begin
Repeat
N:=Strtoint(Edit1.Text);
Until (N > 1);
For i:=1 To N Do Begin
Licz :=0;
For j:=1 To N Do
potega := (power(2,j)-1);
y:=(floattostr(potega));
b:=strtoint(y);
If ((b mod j) = 0) Then Licz:=Licz+1;
If Licz = 2 Then Begin
listbox1.Items.Add(inttostr(i));
end;
end;
end;
end.
i nie wiem co jest nie tak
nie wpisuje wartości do listbox
a przy wpisaniu liczby powyżej 1000 wyskakuje błąd że przekracza zakres
prosze o pomoc i o jakies rady