e-olymp 8649. Емблема (Emblem)

Умова

До проведення $N$-ї ярмарки «Мікротехнології у макропрограмуванні» дизайнери розробили емблему, у якій на квадрат розміром $N \times N$ дм «ставився зверху» квадрат розміром $\left(N-1\right) \times \left(N-1\right)$ дм і так далі. Зверху був квадрат $1 \times 1.$ В цілому організаторам емблема сподобалася, але вони забажали «прикрасити» її золотистою стрічкою, яка йшла б від лівого нижнього кута до правого верхнього, потім по верхньому краю і спускалася до правого нижнього кута (див. малюнок). У найближчому магазині можна було купити стрічку за ціною $Р$ грн. за дм, але відпускалися стрічки тільки з цілою кількістю дм. У той же час магазин пропонував знижку $10\%$, якщо покупка коштувала не менше $100$ грн. і $15\%$ при покупці від $1000$ грн. Скільки щонайменше доведеться заплатити за цю «прикрасу»? Нагадаємо, що на декартовій площині довжина відрізку між точками $\left(x_{1};y_{1}\right)$ та $\left(x_{2};y_{2}\right)$ обчислюється за формулою: $d=\sqrt{\left(\left(x_{2}-x_{1}\right)^{2}+\left(y_{2}-y_{1}\right)^{2} \right)}.$

Вхідні дані:

Програма вводить два натуральних числа $N$ – номер ярмарки та $P$ -ціна стрічки у гривнях за дм $\left(1 \leqslant N \leqslant 100\right).$

Вихідні дані:

Ціна стрічки у копійках (щоб не працювати з дробовими числами).

Тести:

Вхідні дані Вихідні дані
2 13 9360
5 10 28800
100 1 858670
1 5 2000
12 3 42660

Рішення:

Пояснення:  Спочатку необхідно знайти довжину діагоналі, для цього, умовно ми можемо продовжити саму верхню пряму в праву і ліву сторону до того моменту поки її довжина не стане не менш ніж $N$ дм, а потім починаючи з лівого нижнього кута куба $N \times N$ провести перпендикуляр до цієї прямої. Так у нас вийде прямокутний трикутник, в якому h (знаходимо за формулою $n$-перших членів арифметичної прогресії $S_{n} = \frac{a_{1}+a_{n}}{2} \cdot n$) та l — катети, тоді за теоремою Піфагора можемо знайти діагональ d. Далі знаходимо довжину стрічки і її ціну з огляду на знижки. Також необхідно зробити перевірку, чи буде вигідніше придбати стрічку на таку кількість грошей, яке буде відповідати умовам знижки.

Related Images:

Ю2.28

Задача.

Вклад. Банк предлагает 3 вида срочных вкладов: на 3 месяца под [latex]p_{1}[/latex]%, на 6 месяцев под [latex]p_{2}[/latex]% и на год под [latex]p_{3}[/latex]%. Какой из вкладов наиболее выгоден для вкладчика?

Тесты:

[latex]p1[/latex] [latex]p2[/latex] [latex]p3[/latex] Вывод программы
0 0 0 Нет наиболее выгодного вклада из трех
10 10 10 Первый вклад выгоднее
10 10 50 Третий вклад выгоднее
50 10 10 Первый вклад выгоднее
5 20 20 Второй вклад выгоднее

 

Код программы:

 

 

 

Алгоритм решения.

Для решения этой задачи я пользовался следующей формулой: [latex]B = A(1 + \frac{P}{100\%})[/latex], где [latex]B[/latex] — будущая стоимость, [latex]A[/latex] — текущая стоимость, [latex]P[/latex] — процентная ставка за расчетный период, [latex]n[/latex] — количество расчетных периодов. В программе я ее представил в другом виде, так как для сравнения выгодности вкладов одинаковой суммы, саму сумму можно не учитывать.

Код на ideone.com

Related Images:

Ю1.8

Задача:

Среднегодовая производительность труда

За первый год производительность труда на предприятии возросла на [latex]p[/latex]1[latex]%[/latex], за второй и третий — соответственно на [latex]p[/latex]2[latex]%[/latex] и  [latex]p[/latex]3[latex]%.[/latex] Найти среднегодовой прирост производительности (в процентах).

P1(%) P2(%) P3(%) Р (среднегодовой прирост  производительности)  (%)
50 68 34 50.03
0 25 75 29.81
-25 25 78 18.61
0 -25 0 -9.14
1.4 43 0.7 13.45

Код программы на С++

Код программы на Java

Алгоритм задачи предельно прост.

Пользователь задает нам три показателя прироста производительности на предприятии, за каждый год соответственно.

Предположим, что производительность труда в году, предшествующему увеличению, это  [latex]a[/latex], тогда в следующем году прирост будет вычисляться по формуле  [latex]a\cdot \left( \frac { { p }_{ n } }{ 100 } +1 \right)[/latex], где  [latex]{ p }_{ n }[/latex] это показатель прироста производительности за соответствующий год.

Учитывая, что для каждого следующего года показатель [latex]a[/latex] это производительность за предыдущий год, мы получим формулу:

[latex]p=\left( \sqrt [ 3 ]{ (\frac { { p }_{ 1 } }{ 100 } +1)\cdot (\frac { { p }_{ 2 } }{ 100 } +1)\cdot (\frac { { p }_{ 3 } }{ 100 } +1) } -1 \right) \cdot 100[/latex].

Подставляя в формулу соответствующие значения мы с легкостью получим результат.

Related Images:

Ю1.21

Задача: Владелец автомобиля приобрел новый карбюратор, который экономит 50% топлива, новую систему зажигания, которая экономит 30% топлива, и поршневые кольца, экономящие 20% топлива. Верно ли, что его автомобиль теперь сможет обходиться совсем без топлива? Найти фактическую экономию для произвольно заданных сэкономленных процентов.

e1 e2 e3 f
50 30 20 72 Пройдено.
10 34 72 83.37 Пройдено.
0 0 0 0.00 Пройдено.
23.7 47.1 10.2 63.72 Пройдено.

 

Нет, машина не будет обходится совсем без топлива.

Предположим, что в машине 100 л топлива. Вычислим сколько топлива экономит карбюратор в процентах, то есть от 100 отнимем нужное количество процентов и получим количество топлива которое не экономится в процентах. Найдем экономию топлива от этого значения и получим сколько экономят топлива кольца, и так далее. В итоге просуммируем все экономии топлива в процентах и получим общую экономию.

Код программы на Java:

 

Related Images: