Ну, для начала, тебе неплохо было бы найти алгоритмы для этих 3х способов. Потом написать код, реализующий эти алгоритмы как функции. А в конце - все завернуть в бесконечный цикл, который прерывается по комманде оператора, типа:
Код:
var
IsAbort : Boolean;
...
procedure TForm1.Button1Click(Sender : TObject);
begin
IsAbort := True;
end;
...
begin
IsAbort := False;
While Not IsAbort Do
Begin
N1 := Random(1000000)+1;
N2 := Random(1000000)+1;
tm0 := Now();
DoFirst(N1,N2);
tm1 := Now();
DoSecond(N1,N2);
tm2 := Now;
DoThird(N1,N2);
tm3 := Now;
Application.ProcessMessages;
Memo1.Lines.Add(Format('N1=%d, N2=%d: T1=%s, T2=%s, T3=%s'),[N1,N2,TimeToStr(tm1-tm0),TimeToStr(tm2-tm1),TimeToStr(tm2-tm3)]);
End;
...