var a, b: integer; begin readln(a, b); writeln(System.Math.Sign(a) = System.Math.Sign(b) ? 'Да' : 'Нет'); end.
Или ̶п̶р̶и̶м̶и̶т̶и̶в̶н̶е̶е̶ проще: var a, b: integer; begin readln(a, b); if (a > 0) then a := 1; if (a = 0) then a := 0; if (a < 0) then a := -1; if (b > 0) then b := 1; if (b = 0) then b := 0; if (b < 0) then b := -1; if (a = b) then writeln('Yes') else writeln('No'); end.
Немного ̶у̶п̶р̶о̶̶щ̶̶ё̶н̶н̶ы̶й̶ оптимизированный вариант: var a, b: integer; begin readln(a, b); if (a > 0) then a := 1 else if (a = 0) then a := 0 else a := -1; if (b > 0) then b := 1 else if (b = 0) then b := 0 else b := -1; if (a = b) then writeln('Yes') else writeln('No'); end.
Var a,k,m,min,i,flag:integer; begin readln(a); m:=a; {сохраняю введенное значение и считаю кол-во цифр в числе} while m >0 do begin m:=m div 10; k:=k+1; end; min:=9; {записываю самое большое нечетное число} {в цикле отсекаю последнюю цифру в числе и проверяю ее на нечетность. Если она нечетная и меньше числа min, то сохраняю ее в min и присваиваю переменной Flag 1. Если к концу программы в переменной flag будет 1, значит хотя бы одна нечетная цифра в числе была, если flag=0 тогда в числе нет нечетных} for i:=1 to k do begin if (a mod 10<=min)and(a mod 2<>0) then begin min:=a mod 10; flag:=1; end; a:=a div 10; end; if flag=0 then writeln('нет нечетных') else writeln(min); end.
a, b: integer;
begin
readln(a, b);
writeln(System.Math.Sign(a) = System.Math.Sign(b) ? 'Да' : 'Нет');
end.
Или ̶п̶р̶и̶м̶и̶т̶и̶в̶н̶е̶е̶ проще:
var
a, b: integer;
begin
readln(a, b);
if (a > 0) then a := 1;
if (a = 0) then a := 0;
if (a < 0) then a := -1;
if (b > 0) then b := 1;
if (b = 0) then b := 0;
if (b < 0) then b := -1;
if (a = b) then
writeln('Yes')
else
writeln('No');
end.
Немного ̶у̶п̶р̶о̶̶щ̶̶ё̶н̶н̶ы̶й̶ оптимизированный вариант:
var
a, b: integer;
begin
readln(a, b);
if (a > 0) then
a := 1
else
if (a = 0) then
a := 0
else
a := -1;
if (b > 0) then
b := 1
else
if (b = 0) then
b := 0
else
b := -1;
if (a = b) then
writeln('Yes')
else
writeln('No');
end.
a,k,m,min,i,flag:integer;
begin
readln(a);
m:=a; {сохраняю введенное значение и считаю кол-во цифр в числе}
while m >0 do
begin
m:=m div 10;
k:=k+1;
end;
min:=9; {записываю самое большое нечетное число}
{в цикле отсекаю последнюю цифру в числе и проверяю ее на нечетность. Если она нечетная и меньше числа min, то сохраняю ее в min и присваиваю переменной Flag 1. Если к концу программы в переменной flag будет 1, значит хотя бы одна нечетная цифра в числе была, если flag=0 тогда в числе нет нечетных}
for i:=1 to k do
begin
if (a mod 10<=min)and(a mod 2<>0) then
begin
min:=a mod 10;
flag:=1;
end;
a:=a div 10;
end;
if flag=0 then
writeln('нет нечетных')
else
writeln(min);
end.