// PascalABC.NET 3.0, сборка 1076
type
Point=record
x,y:real
end;
Line=record
A,B:Point
end;
Triangle=record
A,B,C:Point;
sa,sb,sc:real; { длины сторон }
end;
procedure GetPoint(PointName:char; var M:Point);
begin
Write('Введите координаты точки ',PointName,'(x,y): ');
Read(M.x,M.y)
end;
function LineLength(A,B:Point):real;
begin
LineLength:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))
end;
procedure CreateTriangle(var T:Triangle; var l:boolean);
begin
With T do begin
GetPoint('A',A);
GetPoint('B',B);
GetPoint('C',C);
sa:=LineLength(B,C);
sb:=LineLength(A,C);
sc:=LineLength(A,B);
l:=(sa+sb>sc) and (sa+sc>sb) and (sb+sc>sa)
end
end;
function TriangleIsLikes(T1,T2:Triangle):boolean;
var
k1,k2,k3:real;
begin
k1:=T1.sa/T2.sa; k2:=T1.sb/T2.sb;
if k1=k2 then begin
k3:=T1.sc/T2.sc;
TriangleIsLikes:=k1=k3
end
else
TriangleIsLikes:=False
end;
var
T1,T2:Triangle;
legal:boolean;
begin
Writeln('*** Первый треугольник ***');
CreateTriangle(T1,legal);
if legal then begin
Writeln('*** Второй треугольник ***');
CreateTriangle(T2,legal);
if legal then
if TriangleIsLikes(T1,T2) then Writeln('Треугольники подобны')
else Writeln('Треугольники не подобны')
else Writeln('Треугольник невозможно построить')
end
else Writeln('Треугольник невозможно построить')
end.
Сумма - a+b,
произведение - ab
А) 17 + 83 = 100
36 + 64 = 100
77 + 33 = 100
б) 21 + 7 = 28
36 - 12 = 28
99 - 71 = 28
Если имеется в виду кодирование каждого места одним битом (0 - свободно, 1 - занято), то для первой области 10×12=120 бит, для второй области 17×8=136 бит.
Всего потребуется 120+136=256 бит
<?
for($i=0;$i<20;$i++)
{
$number = rand(0,10000);
$a[$i] = $number;
}
$max = -1;
for($i=0;$i<20;$i++)
{
if ($a[$i] / 7 !=0 && $a[$i] >99 && $a[$i] <1000 && $a[$i] > $max)
$max = $a[$i];
}
echo "Все элементы:<br>";
for($i=0;$i<20;$i++)
{
echo "$a[$i]<br>";
}
if ($max!=-1)
{
echo "Нужный: $max";
}
else
{
echo "Не найден";
}
?>