e-olymp 2501. Круговая диаграмма

Задача


Для графического изображения соотношения между различного рода величинами во многих областях человеческой деятельности используются различные графики и диаграммы. Одним из типов диаграмм является так называемая круговая диаграмма.

Исходными данными для этой диаграммы является набор чисел $a_1,\ldots, a_n, а$ диаграмма представляет собой круг радиуса $r$, разделенный на секторы. При этом каждому из чисел соответствует ровно один сектор, площадь которого пропорциональна этому числу. Общая площадь секторов равна площади круга.

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

Входные данные

Первая строка содержит два целых числа $n$ и $r \space (1 \leq n, r \leq 100)$. Вторая строка содержит $n$ целых чисел $a_1,\ldots, a_n \space (1 \leq a_i \leq 100$ для всех $i$ от $1$ до $n)$.

Выходные данные

Выведите $n$ вещественных чисел — площади секторов, соответствующих числам $a_1,\ldots, a_n$. Выводите каждое из чисел в отдельной строке.

Все эти числа должны быть выведены с точностью не хуже $10^{-6}$.

Тесты

Входные данные Выходные данные
3 2
1 4 3
1.570796327
6.283185307
4.712388980
2 3
3 8
7.711181968
20.563151914
4 5
2 5 9 1
9.239978393
23.099945982
41.579902768
4.619989196
5 9
4 16 8 20 11
17.252135928
69.008543713
34.504271856
86.260679641
47.443373803

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

Решение

Найдем сперва сумму всех чисел $a_i$ и площадь диаграммы (по известной формуле площади круга). Теперь можем легко посчитать площади каждого из секторов нашей диаграммы, разделив площадь последней на ранее найденную сумму и умножив их частное на соответствующее число $a_i$.

Ссылки

Условие задачи на e-olymp
Код решения на Ideone

Related Images:

5 thoughts on “e-olymp 2501. Круговая диаграмма

    • Пожалуйста, не пытайтесь изменить вид заголовков при помощи тегов em. Ваше дело смысловая разметка и контент. Как это выглядит определяет дизайн сайта.
    • В пояснении Вы словами пересказывает код. В этом нет необходимости. Нужно описать алгоритм, а не его конкретную реализацию. Кроме тех случаев, когда в реализации есть какая-то интересная изюминка.
    • По форме стало именно то, что требуется. Но по сути, там что-то странное написано.
      — «…сумму всех чисел , которая будет пропорциональна площади…» Площадь зависит от заданного радиуса, а сумма от заданных чисел. Это два совершенно независимых числа. Вы составляете пропорцию в которой сумма чисел соответствует площади круга, а каждое число — площади одного из секторов.
      — «посчитать минимальную возможную площадь сектора». Это я вообще не понял. Площадь сектора положительная, значит минимальной возможной площади не существует.

Добавить комментарий