Пусть a,b,c - стороны треугольника (и их длины). Условие существование треугольника:
Пусть а - наибольшая из сторон, тогда против нее будет лежать наибольший угол, который можно определить по теореме косинусов:
Текст программы приводится ниже. var a,b,c,t,cosA:real; begin Write('Введите длины сторон треугольника: '); Readln(a,b,c); if (a<b+c) and (b<a+c) and (c<a+b) then begin if a>b then begin if a<c then begin t:=a; a:=c; c:=t end end else if b>c then begin t:=a; a:=b; b:=t end else begin t:=a; a:=c; c:=t end; cosA:=(sqr(c)+sqr(b)-sqr(a))/(2*b*c); if cosA=0 then Writeln('Треугольник прямоугольный') else if cosA<0 then Writeln('Треугольник тупоугольный') else Writeln('Треугольник остроугольный') end else Writeln('Треугольник построить нельзя') end.
Тестовое решение: Введите длины сторон треугольника: 4 6.1 3.7 Треугольник тупоугольный
Var ar:array[1..n] of integer; ar2:array[1..n] of integer; i,k:integer;
function prost(a:integer):boolean; var i:integer; b:boolean; begin b:=true; for i:=2 to a div 2 do if a mod i=0 then begin; b:=false; break; end; if a=1 then b:=false; prost:=b; end;
begin; randomize; k:=0; for i:=1 to n do begin; ar[i]:=random(101); write(ar[i]:4); end; writeln; for i:=1 to n do if prost(ar[i]) then begin; inc(k); ar2[k]:=ar[i]; write(ar2[k]:4); end; end.
Пусть а - наибольшая из сторон, тогда против нее будет лежать наибольший угол, который можно определить по теореме косинусов:
Текст программы приводится ниже.
var
a,b,c,t,cosA:real;
begin
Write('Введите длины сторон треугольника: '); Readln(a,b,c);
if (a<b+c) and (b<a+c) and (c<a+b) then
begin
if a>b then
begin
if a<c then begin t:=a; a:=c; c:=t end
end
else
if b>c then begin t:=a; a:=b; b:=t end
else begin t:=a; a:=c; c:=t end;
cosA:=(sqr(c)+sqr(b)-sqr(a))/(2*b*c);
if cosA=0 then Writeln('Треугольник прямоугольный')
else
if cosA<0 then Writeln('Треугольник тупоугольный')
else Writeln('Треугольник остроугольный')
end
else
Writeln('Треугольник построить нельзя')
end.
Тестовое решение:
Введите длины сторон треугольника: 4 6.1 3.7
Треугольник тупоугольный
n=5;
Var
ar:array[1..n] of integer;
ar2:array[1..n] of integer;
i,k:integer;
function prost(a:integer):boolean;
var i:integer;
b:boolean;
begin
b:=true;
for i:=2 to a div 2 do
if a mod i=0 then
begin;
b:=false;
break;
end;
if a=1 then b:=false;
prost:=b;
end;
begin;
randomize;
k:=0;
for i:=1 to n do
begin;
ar[i]:=random(101);
write(ar[i]:4);
end;
writeln;
for i:=1 to n do
if prost(ar[i]) then
begin;
inc(k);
ar2[k]:=ar[i];
write(ar2[k]:4);
end;
end.