Журі вирішило дати вам важке завдання. Дано два числа a та b і ви повинні обчислити a * (a + 1) * ... * b. Пізніше вони подумали, що це завдання буде складним, і вирішили попросити визначити його знак замість результату. Тому потрібно визначити, чи є цей результат від'ємним, додатнім або нуль.
Вхідні дані
В одному рядку задано два цілих числа a і b (-109 ≤ a ≤ b ≤ 109).
Вихідні дані
Виведіть знак виразу a * (a + 1) * ... * b, а саме "**- 1**", "0", "1".
Const
n=6;
Var
f,h:text;
i,maxi:integer;
ar:array[1..n] of real;
begin
ar[6]:=real.MinValue;
assign(f,'text.txt');
rewrite(f);
for i:=1 to n-1 do
begin
readln(ar[i]);
if ar[i]>ar[6] then
begin
ar[6]:=ar[i];
maxi:=i;
end;
end;
ar[maxi]:=ar[maxi]/2;
writeln('F:');
for i:=1 to n do
begin
write(f,ar[i],' ');
write(ar[i],' ');
end;
close(f);
writeln;
i:=0;
writeln('H:');
assign(h,'text1.txt');
rewrite(h);
while i<n do
begin
i:=i+2;
write(h,ar[i],' ');
write(ar[i]:4);
end;
close(h);
end.
Пример ввода:
1
2
3
4
5
Пример вывода:
F:
1 2 3 4 2.5 5
H:
2 4 5
{
программа, вычисляющая площадь прямоугольника.
}
var
a,b: real;
begin
write('Стороны прямоугольника ');
read(a,b);
writeln(' Площадь фигуры = ',a*b:10:3);
end.
Тестовое решение:
Стороны прямоугольника 5.3 6.7
Площадь фигуры = 35.510
{
С клавиатуры вводятся 3 целых числа.
Определить количество положительных чисел
в этом наборе.
}
var
a,i,n: integer;
begin
for i:=1 to 3 do begin
write(i,'число = ');readln(a);
if a>0 then n:=n+1;
end;
writeln(' Положительных :',n);
end.