Функция [latex]f(x)[/latex] определена следующим образом:
[latex]f\left(x\right)= \sin x + \sqrt{\log_{4}3x}+ \lceil 3e^x \rceil[/latex]
Вычислите значение [latex]f(x)[/latex] для заданного [latex]x[/latex].
Входные данные
Каждая строка содержит действительное значение [latex]x (x ≥ 1)[/latex].
Выходные данные
Для каждого значения x выведите в отдельной строке [latex]f(x)[/latex] с 6 десятичными знаками.
График функции $f\left(x\right) = \sin x + \sqrt{\log_{4}3x}+ \lceil 3e^x \rceil$
Для решения этой задачи я считывал каждое число из потока ввода и передавал значение в функцию, которая возвращало нужное значение, после чего выводил на экран полученное значение с округлением до 6-го знака после запятой. Использовал стандартную библиотеку <cmath>, для вычисления синуса, корня, логарифма, нахождения экспоненты и округления вверх.
Полоска бумаги имеет размеры [latex]A×B[/latex]. Каждый раз от нее отрезается квадрат максимального размера до тех пор, пока не получится квадрат. Сколько квадратов получится?
Входные данные
Программе даны числа [latex]A[/latex] и [latex]B[/latex] [latex](1 ≤ A, B ≤ 10^9).[/latex]
Выходные данные
Требуется вывести количество квадратов.
Тесты
Входные данные
Выходные данные
12 4
3
15 3
5
20 20
1
8 12
3
Код программы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
usingnamespacestd;
intmain(){
inta,b,temp=0;
boolneed=1;
cin>>a>>b;
while(need){
if(a>=b){
temp=temp+a/b;
a=a%b;
}
else
{
temp=temp+b/a;
b=b%a;
}
if(a==0||b==0){
need=0;
}
}
cout<<temp;
return0;
}
Решение задачи
Нам было дана высота и ширина полоски бумаги. Есть три варианта:
Высота равна ширине
Высота больше ширины
Высота меньше ширины
В первом случае нам надо вывести на экран единицу. Во втором случаем начинаем вычитать
a-b до того момента, как
a не будет меньше
b или
a не будет равняться 0. В третьем случае начинаем вычитать
b-a до того момента, как
b не будет меньше
a или
b не будет равняться 0.
В офісі, де Степан працює програмістом, встановили кондиціонер нового типу. Цей кондиціонер відрізняється особливою простотою в управлінні. У кондиціонера є всього лише два керованих параметра: бажана температура і режим роботи.
Кондиціонер може працювати в наступних чотирьох режимах:
«freeze» — охолодження. У цьому режимі кондиціонер може тільки зменшувати температуру. Якщо температура в кімнаті і так не більше бажаної, то він вимикається.
«heat» — нагрів. У цьому режимі кондиціонер може тільки збільшувати температуру. Якщо температура в кімнаті і так не менше бажаної, то він вимикається.
«auto» — автоматичний режим. У цьому режимі кондиціонер може як збільшувати, так і зменшувати температуру в кімнаті до бажаної.
«fan» — вентиляція. У цьому режимі кондиціонер здійснює тільки вентиляцію повітря і не змінює температуру в кімнаті.
Кондиціонер досить потужний, тому при налаштуванні на правильний режим роботи він за годину доводить температуру в кімнаті до бажаної.
Потрібно написати програму, яка по заданій температурі в кімнаті [latex]t_{room}[/latex], встановленим на кондиціонері бажаної температурі [latex]t_{cond}[/latex] і режиму роботи визначає температуру, яка встановиться в кімнаті через годину.
Входные данные
Перший рядок вхідного файлу містить два цілих числа [latex]t_{room}[/latex], і [latex]t_{cond}[/latex], розділених рівно одним пропуском [latex](-50 ≤ t_{room}. ≤ 50 [/latex],[latex]-50 ≤ t_{cond}. ≤ 50)[/latex]. Другий рядок містить одне слово, записане малими літерами латинського алфавіту — режим роботи кондиціонера.
Выходные данные
Вихідний файл повинен містити одне ціле число — температуру, яка встановиться в кімнаті через годину.
Для решения этой задачи я построил таблицу, в которой рассмотрел все возможные варианты.
Режим работы
[latex]tr>tc[/latex]
[latex]tr>tc[/latex]
[latex]tr=tc[/latex]
freeze
tc
tr
tc
heat
tr
tc
tc
fan
tr
tr
tr
auto
tc
tc
tc
Из этой таблицы видно, что повторяется
tc 7 раз, а
tr — 5 раз. Поэтому опишем в операторе
if все условия при которых температура в комнате будет равняться желаемой температуре через час, а во всех остальных случаях температура не изменится.
Выдающийся ямайский спринтер Усейн Болд выиграл на Олимпиаде-2012 две золотые медали на дистанциях 100 и 200 метров.
Эти обе дистанции нам интересны тем, что могут при определённом научном подходе, предоставлять тренеру информацию в определении оптимального состава сборной команды страны для эстафеты 4×100 метров.
Так как обе дистанции очень коротки, то тактика бега здесь довольно проста: сначала спортсмен за какое-то стартовое время (время разгона) разгоняется до своей максимально возможной на данный момент скорости, а оставшуюся часть дистанции бежит с этой постоянной скоростью, которую назовём крейсерской скоростью. Естественно, что при формировании команды в эстафету нужно на старт ставить спортсмена, который на этой дистанции показывает наилучшее время, а на 3 оставшихся этапа отбирать из числа оставшихся спортсменов трёх с наилучшей крейсерской скоростью.
Тренер легкоатлетической сборной вашей страны поручил вам, как одному из лучших программистов, помочь ему с формированием состава сборной на эстафету. Для оказания оперативной помощи тренеру вам необходимо быстро решить следующую задачу: зная результаты спортсмена на дистанциях 100 и 200 метров, определить его крейсерскую скорость. Вам также известно, что крейсерская скорость и время разгона каждого из спортсменов на протяжении ваших исследований не изменялись.
Входные данные
В единственной строке задано 2 вещественных числа, разделённых единичным пробелом, соответственно результат спортсмена на дистанциях 100 и 200 метров.
Выходные данные
В единственной строке выведите крейсерскую скорость спортсмена с точностью не менее 6-ти знаков после запятой.
Тесты
Входные данные
Выходные данные
9.63 19.32
10.319917
12.49 21.30
11.350737
7.46 13.58
16.339869
Код программы:
Крейсерская скорость
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
usingnamespacestd;
intmain(){
doublea,b,s=100;
cin>>a>>b;
cout<<fixed;
cout<<s/(b-a)<<endl;
return0;
}
Решение задачи
Для решения этой задачи мы воспользуемся формулами скорости при равноускоренном движении. Нам было дано время прохождения двух дистанций в 100 метров и 200 метров. Так как спортсмен разгоняется на дистанции 100 метров, то оставшиеся 100 метров из 200 он бежит с постоянной скоростью. Чтобы узнать время за которое он пробегает вторые 100 метров, мы вычитаем из второго значения времени первое. Дальше мы пользуемся формулой нахождения скорости по расстоянию и времени [latex]\frac{s}{t}[/latex]. Полученая скорость и будет крейсерской скоростью.