Задача A278
Условие задачи
Даны натуральные числа , действительные числа
. Вычислить
.
Тестирование
№ | Входные данные | Выходные данные |
1. | 1 2 4 -1 | -0.4 |
2. | 1 2 3 4 5 0.6 | 1.88889 |
3. | 5 -2 1 0.2 3 -3 2 0 | -1.70909 |
4. | 10 3.3 4 0.4 6 0.01 8 1 1 8 | 1.7469 |
5. | 3 -0.5 2 -0.4 1 -0.3 5 32 11 5 20 -1 | 4.58095 |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.*; import java.lang.*; import java.io.*; class A278 { public static void main (String[] args) throws java.lang.Exception { Scanner scanner = new Scanner(System.in); double numerator = 0; int denominator = 0; while (scanner.hasNext()) { int n = scanner.nextInt(); double x = scanner.nextDouble(); numerator += n * x; denominator += n; } double result = numerator / denominator; System.out.println(result); } } |
Алгоритм решения (потоковая обработка)
Считываем числа до конца входного потока и поочередно записываем их в переменные и
соответственно.
Пока вводятся данные:
- Вычисляем значение выражения
, накапливая сумму в числитель
.
- Вычисляем значение выражения
, накапливая сумму в делителе
.
- Находим результат
от деления
на
Хорошо получилось