1. С=2*Pi*R, S= Pi*R^2, V=4/3*Pi*R^3, где Pi=3,14, заданный радиус R 2. P=a+b, S=1/2*a*b, где a и b - данные катеты 3. Пусть даны координаты трех вершин треугольника A(x1;y1), B(x2;y2), C(x3;y3). Расстояние между двумя точками вычисляется по формуле
Тогда периметр треугольника можно вычислить по формуле: P=sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2). Площадь треугольника по формуле Герона вычисляется по формуле: , где -полу периметр треугольника. S=sqrt((sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2*(sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2-sqrt((x2-x1)^2+(y2-y1)^2))*(sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2-+sqrt((x3-x2)^2+(y3-y2)^2))*(sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2-sqrt((x3-x1)^2+(y3-y1)^2)) 4. Среднее геометрическое трех чисел вычисляется по формуле или (a*b*c)^1/3
Будем последовательно решать задачу для первых i символов кода, основываясь на ответах для i - 1 и i - 2. Заметим, что если i-й символ кода равен 0 или ответа для i - 1 не существует, то ответ для i получается добавлением одного символа к ответу для i - 2, если последние две цифры кода нельзя понять, как зашифрованную букву, или ответа для i - 2 не существует, то надо добавить символ к i - 1, а иначе сравнить длины ответов и добавить букву к тому, кто короче.
Код (python 3.5): codes = "." with open('input.txt', 'r') as f: encoded = list(map(int,list(f.read( if len(encoded) == 1: print(codes[encoded[0]]) else: decoded = [codes[encoded[0]], ""] for i in range(1, len(encoded)): if (decoded[0] is None) or (encoded[i] == 0): decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]] elif (10*encoded[i-1] + encoded[i]>26) or (decoded[1] is None) or \ (len(decoded[1]) >= len(decoded[0])): decoded = [decoded[0] + codes[encoded[i]], decoded[0]] else: decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]] with open('output.txt', 'w') as f: f.write(decoded[0])
2. P=a+b, S=1/2*a*b, где a и b - данные катеты
3. Пусть даны координаты трех вершин треугольника A(x1;y1), B(x2;y2), C(x3;y3).
Расстояние между двумя точками вычисляется по формуле
Тогда периметр треугольника можно вычислить по формуле:
P=sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2).
Площадь треугольника по формуле Герона вычисляется по формуле:
, где -полу периметр треугольника.
S=sqrt((sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2*(sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2-sqrt((x2-x1)^2+(y2-y1)^2))*(sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2-+sqrt((x3-x2)^2+(y3-y2)^2))*(sqrt((x2-x1)^2+(y2-y1)^2)+sqrt((x3-x2)^2+(y3-y2)^2)+sqrt((x3-x1)^2+(y3-y1)^2)/2-sqrt((x3-x1)^2+(y3-y1)^2))
4. Среднее геометрическое трех чисел вычисляется по формуле
или
(a*b*c)^1/3
Код (python 3.5):
codes = "."
with open('input.txt', 'r') as f:
encoded = list(map(int,list(f.read(
if len(encoded) == 1:
print(codes[encoded[0]])
else:
decoded = [codes[encoded[0]], ""]
for i in range(1, len(encoded)):
if (decoded[0] is None) or (encoded[i] == 0):
decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]]
elif (10*encoded[i-1] + encoded[i]>26) or (decoded[1] is None) or \
(len(decoded[1]) >= len(decoded[0])):
decoded = [decoded[0] + codes[encoded[i]], decoded[0]]
else:
decoded = [decoded[1] + codes[10*encoded[i-1] + encoded[i]], decoded[0]]
with open('output.txt', 'w') as f:
f.write(decoded[0])