Нужно что-то присвоить функции для случая, когда (2*a+b-c)<0
Например, так:
function sqrt1 (a, b, c: real): real;
begin
if (2 * a + b - c) < 0 then
<span>begin writeln (' complex number '); sqrt1:=-1; end</span>
else sqrt1:= sqrt(2 * a + b - c);
<span>end;</span>
function GCD(u: integer; v: integer):integer;
begin
var r:integer;
while ( v <> 0) do
begin
r := u mod v;
u := v;
v := r;
end;
Result:=u;
end;
Begin
var (n,m):=ReadInteger2();
var gcd_n:=GCD(n,m);
var nod_n:=abs(n*m)/GCD(n,m);
gcd_n.Println;
nod_n.Println;
end.
Думаю алгоритм будет таким: