Задачи к Занятию 13.



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

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

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

Ввод
Вывод
17.9
0.9

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

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

Ввод
Вывод
1.79
7

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

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

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

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

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

Ввод
Вывод
3

4

5
6.0
1

1

1
0.4330127018922193

E: Часы - 1

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

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

Ввод
Вывод
1

2

6
31.05

F: Часы - 2

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

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

Пример

Ввод
Вывод
190
120.0

G: Часы - 3

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

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

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

H: Проценты

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

Ввод
Вывод
12

179

0
200 48

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

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

Ввод
Вывод
12

179

0

5
315 43

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

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

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

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

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

Ввод
Вывод
1

-1

-2
-1.0 2.0

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

Даны произвольные действительные коэффициенты a, b, c. Решите уравнение ax2+bx+c=0.
Если данное уравнение не имеет корней, выведите число 0. Если уравнение имеет один корень, выведите число 1, а затем этот корень. Если уравнение имеет два корня, выведите число 2, а затем два корня в порядке возрастания. Если уравнение имеет бесконечно много корней, выведите число 3.


Ввод
Вывод
1

-1

-2
2 -1.0 2.0
-1

2

-1
1 1.0

M: π2/6

По данному числу n вычислите сумму 1+1/22+1/ 32++1/n2.



 Ввод
Вывод
3
1.3611111111111112

Знаете ли вы, что этот ряд сходится к π2/6?

N: ln 2

По данному числу n вычислите сумму 11/2+1/314++...+(1)n+1/n.
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n). Попробуйте также обойтись без использования инструкции if.

Ввод
Вывод
3
0.8333333333333333

Этот ряд сходится к значению ln 2.

O: Геометрическая прогрессия

Забудьте формулу суммы геометрической прогрессии и вычислите сумму 1+x+x2++xn.
Программа получает на вход целое число n и действительное число x. Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n) (то есть должен содержать только один цикл).

Ввод
Вывод
4

0.1
1.1111

P: Просто π

По данному числу n вычислите сумму 4(11/3+1/51/7+...+(−1)^n/(2n+1))
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).

Ввод
Вывод
2
3.466666666666667
Этот ряд сходится к числу π.

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

По данному целому числу n и действительному числу x вычислите сумму 
 1+x/1!+x^2/2!+x^3/3!+...+x^n/n!
Операцией возведения в степень пользоваться нельзя. Алгоритм должен иметь сложность O(n).

Ввод
Вывод
2

0.1
1.105
10

0
1.0
100

1
2.7182818284590455

Этот ряд сходится к ex при росте n.

R: Косинус

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

Ввод
Вывод
2

0.1
0.9950041666666667
10

0
1.0
50

3.14159
-0.9999999999964793
Этот ряд сходится к cosx при росте n (углы измеряются в радианах).

S: Сумма с корнями

По данным натуральным числам n и a вычислите сумму

 
Ввод
Вывод
3

2
2.1306300854586997

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

Дан многочлен

 и число x. Вычислите значение этого многочлена, воспользовавшись схемой Горнера:

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

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

Ввод
Вывод
1

0

1

1
1.0
2

0.5

1

1

1
1.75

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

Даны числа a, b, c, d, e, f. Известно, что система линейных уравнений

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

Ввод
Вывод
1

0

0

1

3

3
3.0 3.0

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

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


Программа получает на вход вещественные числа h и v и должна вывести значение x.
В этой и последующей задачах ускорение свободного падения g=9.8, сопротивлением воздуха пренебречь.

Ввод
Вывод
1000

300
4285.714285714285

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

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


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

Ввод
Вывод
500

0.2
9934.141385424757

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

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

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

Ввод
Вывод
500

10000
0.2014022918218565

1.36939403497304
100

10000
0

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

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


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

Ввод
Вывод
500

10000

100
0.2118388917004956

1.3689571017810664
400

10000

8000
0

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

Даны числа a, b, c, d, e, f. Решите систему линейных уравнений
Вывод программы зависит от вида решения этой системы.
Если система не имеет решений, то программа должна вывести единственное число 0.
Если система имеет бесконечно много решений, каждое из которых имеет вид y=kx+b, то программа должна вывести число 1, а затем значения k и b.
Если система имеет единственное решение (x0,y0), то программа должна вывести число 2, а затем значения x0 и y0.
Если система имеет бесконечно много решений вида x=x0, y — любое, то программа должна вывести число 3, а затем значение x0.
Если система имеет бесконечно много решений вида y=y0, x — любое, то программа должна вывести число 4, а затем значение y0.
Если любая пара чисел (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