Действительные числа

Во всех задачах этого листка нельзя использовать строковые типы данных и операции с ними.

A: Целая часть

Дано положительное действительное число X. Выведите его целую часть.

Ввод Вывод
17.9
17

B: Дробная часть

Дано положительное действительное число X. Выведите его дробную часть абсолютно точно. Исходное число содержит не более 6 знаков после десятичной точки.

Ввод Вывод
17.9
0.9

C: Первая цифра после точки

Дано положительное действительное число X. Выведите его первую цифру после десятичной точки. При решении этой задачи нельзя пользоваться условной инструкцией и циклом.

Ввод Вывод
1.79
7

D: Округление по российским правилам

По российский правилам числа округляются до ближайшего целого числа, а если дробная часть числа равна 0.5, то число округляется вверх.

Дано неотрицательное число x, округлите его по этим правилам. Обратите внимание, что функция round не годится для этой задачи!

Ввод Вывод
2.3
2
2.5
3

E: Часы - 1

С начала суток прошло \(H\) часов, \(M\) минут, \(S\) секунд (\(0\le H <12\), \(0\le M < 60\), \(0\le S < 60\)). По данным целым числам \(H\), \(M\), \(S\) определите угол (в градусах), на который повернулаcь часовая стрелка с начала суток и выведите его в виде действительного числа.

При решении этой задачи нельзя пользоваться условными инструкциями и циклами.

Ввод Вывод
1
2
6
31.05

F: Часы - 2

С начала суток часовая стрелка повернулась на угол в \(\alpha\) градусов. Определите на какой угол повернулась минутная стрелка с начала последнего часа. Входные и выходные данные — действительные числа.

При решении этой задачи нельзя пользоваться условными инструкциями и циклами.

Пример

Ввод Вывод
190
120.0

G: Часы - 3

С начала суток часовая стрелка повернулась на угол в \(\alpha\) градусов. Определите сколько полных часов, минут и секунд прошло с начала суток, то есть решите задачу, обратную задаче F. Запишите ответ в три целочисленные переменные и выведите их на экран.

При решении этой задачи нельзя пользоваться условными инструкциями и циклами.

Ввод Вывод
31.05
1 2 6
2.05
0 4 6
1.05
0 2 6

H: Цена товара

Цена товара обозначена в рублях с точностью до копеек, то есть действительным числом с двумя цифрами после десятичной точки. Запишите в две целочисленные переменные стоимость товара в виде целого числа рублей и целого числа копеек и выведите их на экран.

При решении этой задачи нельзя пользоваться условными инструкциями и циклами.

Ввод Вывод
10.35
10 35

I: Квадратное уравнение - 1

Даны действительные коэффициенты \(a\), \(b\), \(c\), при этом \(a\ne0\). Решите квадратное уравнение \(ax^2+bx+c=0\) и выведите все его корни. Если уравнение имеет два корня, выведите два корня в порядке возрастания, если один корень — выведите одно число, если нет корней — не выводите ничего.

Ввод Вывод
1
-1
-2
-1.0 2.0

J: Проценты

Процентная ставка по вкладу составляет P процентов годовых, которые прибавляются к сумме вклада. Вклад составляет X рублей Y копеек. Определите размер вклада через год.

Программа получает на вход целые числа P, X, Y и должна вывести два числа: величину вклада через год в рублях и копейках. Дробная часть копеек отбрасывается.

При решении этой задачи нельзя пользоваться условными инструкциями и циклами.

Ввод Вывод
12
179
0
200 48

K: Сложные проценты

Процентная ставка по вкладу составляет P процентов годовых, которые прибавляются к сумме вклада через год. Вклад составляет X рублей Y копеек. Определите размер вклада через K лет.

Программа получает на вход целые числа P, X, Y, K и должна вывести два числа: величину вклада через K лет в рублях и копейках. Дробное число копеек по истечение года отбрасывается. Перерасчет суммы вклада (с отбрасыванием дробных частей копеек) происходит ежегодно.

Ввод Вывод
12
179
0
5
315 43

L: π2/6

По данному числу n вычислите сумму \(1+\frac{1}{2^2}+\frac{1}{3^2}+...+\frac{1}{n^2}\).

Ввод Вывод
3
1.3611111111111112

Знаете ли вы, что этот ряд сходится к \(\pi^2/6\)?

M: Экспонента

По данному целому числу n и действительному числу x вычислите сумму \( 1+\frac{x}{1!}+\frac{x^2}{2!}+\frac{x^3}{3!}+...+\frac{x^n}{n!}\)

Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).

Ввод Вывод
2
0.1
1.105
10
0
1.0
100
1
2.7182818284590455

Этот ряд сходится к \(e^x\) при росте \(n\).

N: Косинус

По данному целому числу n и действительному числу x вычислите сумму \( 1-\frac{x^2}{2!}+\frac{x^4}{4!}-\frac{x^6}{6!}+...+(-1)^n\frac{x^{2n}}{(2n)!}\)

Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).

Ввод Вывод
2
0.1
0.9950041666666667
10
0
1.0
50
3.14159
-0.999999999996479

Этот ряд сходится к \(\cos x\) при росте \(n\) (углы измеряются в радианах).

O: Площадь треугольника

Даны длины сторон треугольник (три действительных числа). Вычислите площадь треугольника.

Ввод Вывод
3
4
5
6.0
1
1
1
0.4330127018922193

P: МКАД - 2

МКАД представляет собой окружность длиной \(L\). Рассмотрим систему координат, центр окружности находится в начале координат. Байкер Вася выезжает из точки пересечения МКАД с положительным направлением оси OX и едет против часовой стрелки. Определите координаты Васи после того, как он проехал расстояние \(K\).

Программа получает на вход два действительных числа \(L\) и \(K\) и должна вывести два числа — координаты Васи.

Ввод Вывод Примечание
6.283185307179586
2.356194490192345
-0.7071067811865475
0.7071067811865476

Дана окружность радиуса 1, движение начинается в точке (1, 0), Вася проезжает 3/8 окружности.

Q: Колонна

Вы находитесь в начале координат. В точке с координатами \((x, y\)) находится центр круглой колонны радиусом \(r\). Определите, под каким углом вы видите колонну.

Программа получает на вход три действительных числа \(x\), \(y\) и \(r\) и должна вывести значение угла в градусах. Гарантируется, что начало координат не находится внутри колонны.

Ввод Вывод Примечание
2
1
1
53.13010235415598

Угол немного больше 45 градусов.

R: Длина верёвки

В условии предыдущей задачи вы хотите окружить колонну верёвкой, концы которой вы держите в руках. Определите минимальную длину верёвки.

Входные данные аналогичны предыдущей задаче, программа должна вывести минимальную длину верёвки.

Ввод Вывод
2
1
1
8.068887871591405

S: Правильный многоугольник

Правильный \(n\)-угольник вписан в окружность радиуса \(r\). Найдите его периметр и площадь.

Программа получает на вход целое число \(n\ge 3\) и действительное \(r \gt 0\).

Программа должна вывести периметр и площадь данного \(n\)-угольника.

Ввод Вывод
4
1
5.65685424949238
2.0

T: Квадратное уравнение - 2

Даны произвольные действительные коэффициенты \(a\), \(b\), \(c\). Решите уравнение \(ax^2+bx+c=0\).

Если данное уравнение не имеет корней, выведите число 0. Если уравнение имеет один корень, выведите число 1, а затем этот корень. Если уравнение имеет два корня, выведите число 2, а затем два корня в порядке возрастания. Если уравнение имеет бесконечно много корней, выведите число 3.

Ввод Вывод
1
-1
-2
2 -1.0 2.0
-1
2
-1
1 1.0

U: Схема Горнера

Дан многочлен \(P(x)=a_nx^n+a_{n-1}x^{n-1}+...+a_1x+a_0\) и число \(x\). Вычислите значение этого многочлена, воспользовавшись схемой Горнера: \[ P(x)= \left( ... \left( \left( \left( a_n x + a_{n-1} \right) x + a_{n-2} \right) x + a_{n-3} \right) ... \right) x + a_{0} \]

Сначала программе подается на вход целое неотрицательное число \(n\le20\), затем действительное число \(x\), затем следует \(n+1\) вещественное число — коэффициенты многочлена от старшего к младшему. Программа должна вывести значение многочлена.

При решении этой задачи нелья использовать массивы и операцию возведения в степень. Программа должна иметь сложность O(n).

Ввод Вывод
1
0
1
1
1.0
2
0.5
1
1
1
1.75

V: Система линейных уравнений - 1

Даны числа \(a\), \(b\), \(c\), \(d\), \(e\), \(f\). Известно, что система линейных уравнений \[ \cases{ax + by = e, \cr cx + dy = f.} \]

имеет ровно одно решение. Выведите два числа \(x\) и \(y\), являющиеся решением этой системы.

Ввод Вывод
1
0
0
1
3
3
3.0 3.0

W: Баллистическая задача - 1

Самолет летит на высоте \(h\) метров со скоростью \(v\) м/c. Ему необходимо поразить бомбой цель. На каком расстоянии \(x\) от цели (в метрах) необходимо выпустить бомбу?

Программа получает на вход вещественные числа \(h\) и \(v\) и должна вывести значение \(x\).

В этой и последующей задачах ускорение свободного падения \(g=9.8\), сопротивлением воздуха пренебречь.

Ввод Вывод
1000
300
4285.714285714285

X: Баллистическая задача - 2

Пушка стреляет снарядом со скоростью \(v\) м/c под углом \(\alpha\) к горизонту (в радианах). На каком расстоянии \(x\) (в метрах) от пушки упадет снаряд?

Программа получает на вход числа \(v\) и \(\alpha\) и должна вывести значение \(x\).

Ввод Вывод
500
0.2
9934.141385424757

Y: Баллистическая задача - 3

В условиях предыдущей задачи по данной скорости выстрела \(v\) и расстоянию до цели \(x\) определите, под каким углом \(\alpha\) к горизонту (в радианах) необходимо произвести выстрел для поражения цели.

Программа получает на вход числа \(v\) и \(x\) и должна вывести все возможные значения \(\alpha\) в порядке возрастания. Если поразить цель невозможно, программа должна вывести одно число 0.

Ввод Вывод
500
10000
0.2014022918218565
1.36939403497304
100
10000
0

Z: Баллистическая задача - 4

Пушка стреляет снарядом со скоростью \(v\) м/c и должна поразить цель, находящуюся на расстоянии \(x\) метров по горизонтали и на высоте \(y\) метров. Под каким углом \(\alpha\) к горизонту (в радианах) необходимо произвести выстрел?

Программа получает на вход числа \(v\), \(x\), \(y\) и должна вывести все возможные значения \(\alpha\) в порядке возрастания. Если поразить цель невозможно, программа должна вывести одно число 0.

Ввод Вывод
500
10000
100
0.2118388917004956
1.3689571017810664
400
10000
8000
0

ZA: Система линейных уравнений - 2

Даны числа \(a\), \(b\), \(c\), \(d\), \(e\), \(f\). Решите систему линейных уравнений \[ \cases{ax + by = e, \cr cx + dy = f.} \]

Вывод программы зависит от вида решения этой системы.

Если система не имеет решений, то программа должна вывести единственное число 0.

Если система имеет бесконечно много решений, каждое из которых имеет вид \(y=kx+b\), то программа должна вывести число 1, а затем значения \(k\) и \(b\).

Если система имеет единственное решение \((x_0,y_0)\), то программа должна вывести число 2, а затем значения \(x_0\) и \(y_0\).

Если система имеет бесконечно много решений вида \(x=x_0\), \(y\) — любое, то программа должна вывести число 3, а затем значение \(x_0\).

Если система имеет бесконечно много решений вида \(y=y_0\), \(x\) — любое, то программа должна вывести число 4, а затем значение \(y_0\).

Если любая пара чисел \((x,y)\) является решением, то программа должна вывести число 5.

Тесты к этой задаче закрытые.

Ввод Вывод
1
0
0
1
3
3
2 3.0 3.0
1
1
2
2
1
2
1 -1.0 1.0
0
2
0
4
1
2
4 0.5