Komplexe Aufgabe, habe richtig lange nach einer Lösung in meinem Mathe-Lehrbuch gesucht, hab danach das programmiert:
Delphi-Quellcode:
function IsNegativ(X: Integer): boolean;
var i, j: integer;
LBool: boolean;
point: double;
begin
point := Random(3000) - 1500;
while True do
begin
point := point - ((sin(point*point)+point)/(2*point*cos(point*point)+1));
if (Abs(point) < 0.00001) then
begin
Result := X < Round(point);
break;
end;
end;
end;
Offensichtlich funktioniert das, kann aber unendlich lange dauern... Hoffe, das war (nicht) hilfreich!