Var n,k,f:integer;
begin
write('n='); readln(n);
k:=1;
f:=1;
while k<=n do
begin f:=f*k; k:=k+1; end;
writeln(n,'!=',f);
end.
Function S(a,b,c:real):real;
Var
p:real;
Begin
p:=(a+b+c)/2;
result:=Sqrt(p*(p-a)*(p-b)*(p-c))
End;
Var
a,b,c:real;
Begin
Write('a = ');ReadLn(a);
Write('b = ');ReadLn(b);
Write('c = ');ReadLn(c);
if (a<b+c)and(b<c+a)and(c<a+b) then WriteLn('S = ',S(a,b,c))
else WriteLn('Треугольник не существует')
End.
Пример:
a = 3
b = 4
c = 5
S = 6
Одно из "быстрых по написанию" решений, не учитывающих фактор наличия упорядоченности массивов. Это разумно: 10 баллов за решение - не та цена, за которую есть смысл составлять и отлаживать эффективный алгоритм поиска по упорядоченным массивам.
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
var x:=ArrRandom(ReadInteger('p='),-20,20).Sorted;
var y:=ArrRandom(ReadInteger('q='),-10,15).Sorted;
var z:=ArrRandom(ReadInteger('r='),1,18).Sorted;
x.Println; y.Println; z.Println;
var r:=x.Intersect(y.Intersect(z));
if r.Count=0 then Writeln('Нет общих элементов')
else begin Write ('Общие элементы: '); r.Println end
end.
<u><em>Тестовое решение</em></u>
p= 15
q= 13
r= 18
-19 -16 -15 -11 -7 -7 -2 0 0 2 4 7 10 14 20
-8 -6 -4 -4 -4 -3 -1 4 4 9 13 13 15
1 1 2 2 2 4 4 5 6 9 10 12 12 14 14 15 15 17
Общие элементы: 4
№3
j=3
k=3
если j больше чем k то j = k - 2, т.е. j = 1
иначе k = k - 1, т.е. k = 2
Ответ:
U1 - ложь
Объяснение:
просто логически посмотри на схему, если ложь - идем по дорожке с минусом, если правда - по дорожке с плюсом