class Node:
def __init__(self, val):
self.l = None
self.r = None
self.v = val
class Tree:
def __init__(self):
self.root = None
def getRoot(self):
return self.root
def add(self, val):
if self.root is None:
self.root = Node(val)
else:
self._add(val, self.root)
def _add(self, val, node):
if val < node.v:
if node.l is not None:
self._add(val, node.l)
else:
node.l = Node(val)
else:
if node.r is not None:
self._add(val, node.r)
else:
node.r = Node(val)
def find(self, val):
if self.root is not None:
return self._find(val, self.root)
else:
return None
def _find(self, val, node):
if val == node.v:
return node
elif (val < node.v and node.l is not None):
return self._find(val, node.l)
elif (val > node.v and node.r is not None):
return self._find(val, node.r)
def deleteTree(self):
# garbage collector will do this for us.
self.root = None
def printTree(self):
if self.root is not None:
self._printTree(self.root)
def _printTree(self, node):
if node is not None:
self._printTree(node.l)
print(str(node.v) + ' ')
self._printTree(node.r)
# 3
# 0 4
# 2 8
tree = Tree()
tree.add(3)
tree.add(4)
tree.add(0)
tree.add(8)
tree.add(2)
tree.printTree()
print(tree.find(3).v)
print(tree.find(10))
tree.deleteTree()
tree.printTree()
Объяснение:
var a,b,c,d:real;
Begin
read(a,b,c,d);
if ((a<c) and (b<d)) or ((b<c) and (a<d)) then
writeln('Впишется')
else writeln('Не впишется');
End.
var a,b,c:real;
Begin
read(a,b,c);
if (a>b) and (a>c) then a:= b*c;
if (b>a) and (b>c) then a:= a*c;
if (c>b) and (c>a) then a:= b*a;
writeln(a);
End.
3)var x,y,z,u:real;
function max(x,y,z:real):real;
begin
if (x>=y) and (x>=z) then max:= x;
if (y>=x) and (y>=z) then max:= y;
if (z>=y) and (z>=x) then max:= z;
end;
function min(x,y,z:real):real;
begin
if (x<=y) and (x<=z) then min:= x;
if (y<=x) and (y<=z) then min:= y;
if (z<=y) and (z<=x) then min:= z;
end;
Begin
read(x,y,z);
u:=(max(x,y,z)*max(x,y,z)-exp(x*ln(2)))/(sin(2*x)+max(x,y,z)/min(x,y,z));
writeln(u);
End.