На паскале :
var x1,x2,x3,y1,y2,y3,ax,bx,ay,by,a,b,p,s:integer;
begin
readln(x1); readln(y1); readln(x2); readln(y2);
x3:=x1; y3:=y2; //координаты 3 точки
ax:=x1-x3; ay:=y1-y3; bx:=x2-x3; by:=y2-y3; //координаты направляющих векторов
a:=sqrt(sqr(ax)+sqr(ay)); //длинна вектора
b:=sqrt(sqr(bx)+sqr(by)); //длинна вектора
p:=2*(a+b); //периметр
s:=a*b; //площадь
writeln(p);
writeln(s);
end.
var
x,x1:integer;
begin
readln(x);
if (x div 10 + x mod 10 >= 10) then writeln ('Является')
else begin x1:=x; while (x1 div 10 + x1 mod 10 < 10) do x1:=x1+1; end;a
if (x div 10 + x mod 10 < 10) then writeln('Нужно увеличить на ',x1-x);
end.
011011000111010100
101100010011110010
011111100010011101
<em>// PascalABC.NET 3.2, сборка 1427 от 24.04.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=SeqRandom(ReadInteger('n='),-50,50).Select(n->double(n/10)).ToArray;
a.ForEach(x->Write(x:0:1,' ')); Writeln;
Writeln('Сумма отрицательных: ',a.Where(x->x<0).Sum);
var p:=a.IndexMin;
var q:=a.IndexMax;
if p>q then Swap(p,q);
Writeln('Произведение на интервале: ',
a[p+1:q].Aggregate(1.0,(x,y)->x*y));
Writeln('Сортировка:');
a.Sort; a.ForEach(x->Write(x:0:1,' ')); Writeln;
end.
<u>Пример</u>
n= 13
1.7 -0.8 -1.3 -1.4 5.0 -3.1 -0.7 -2.7 2.6 -4.9 4.0 -2.0 -2.0
Сумма отрицательных: -18.9
Произведение на интервале: -15.2334
Сортировка:
-4.9 -3.1 -2.7 -2.0 -2.0 -1.4 -1.3 -0.8 -0.7 1.7 2.6 4.0 5.0
1500 Кб = 1536000 бит
1536000/512000 = 3
Ответ: 3 секунды