5) На танцевальный фестиваль должно приехать 1010 2 детских студий. Максимальное разрешенное количество людей от одной студии: 11110 2 детей и 101 2 сопровождающих. Организационный комитет фестиваля составляет 11001 2 человек. Какое количество мест в зрительном зале будет достаточно, если известно, что 1011 2 человек всегда находятся за кулисами. Дайте ответ в десятичной системе счисления.
Значение дроби можно вычислять так: начинаем с e = 0, затем обновляем значение e по формуле n / (n + e), уменьшая n, пока не получим 2 / (2 + ...). В конце прибавим к результату 2. Пример:
Все скучные операции с дробями оставим питону, пусть считает сам - у него для этого есть модуль fractions.
Знаменатели растут очень быстро - уже начиная с числа 13 знаменатель будет больше миллиарда.
Код (Python 3):
from fractions import Fraction
from itertools import count
n = int(input())
for k in count(3):
e = Fraction(0)
while k >= 2:
e = k / (k + e)
k -= 1
e += 2
a, b = e.numerator, e.denominator
if b > n:
print(a, b)
break
Пример ввода:
1000000000
Пример вывода:
6706022400 2467007773
Если дан не радиус, вычислим радиус, а из него и всё остальное. Формулы для вычисления радиуса:
Обратные формулы:
Код (Python 3):
from math import sqrt, pi
id = int(input())
if id == 1:
R = float(input())
elif id == 2:
R = float(input()) / 2
elif id == 3:
R = float(input()) / 2 / pi
else:
R = sqrt(float(input()) / pi)
D = 2 * R
L = 2 * pi * R
S = pi * R**2
if id == 1:
print(D, L, S)
elif id == 2:
print(R, L, S)
elif id == 3:
print(R, D, S)
else:
print(R, D, L)
Пример ввода:
2
4
Пример вывода:
2.0 12.566370614359172 12.566370614359172