В физике вроде электрические заряды отталкиваются, а в отличие от зарядов притягиваются.
Потенциальная энергия между двумя единичными зарядами, разделенными расстоянием, d
предназначена 1/d
для одинаковых зарядов и -1/d
для разных зарядов. Потенциальная энергия системы зарядов является суммой потенциальных энергий между всеми парами зарядов.
Вызов
Определить потенциальную энергию системы единичных зарядов, представленных строкой.
Это код-гольф , поэтому выигрывает самое короткое решение в байтах.
вход
Непустая многострочная строка, состоящая только +
, -
,
и переводов строк, с каждой линией постоянной шириной. +
И -
представляют собой заряды +1 и -1 соответственно. Например, следующая строка:
+ -
+
(рассматривая источник слева вверху) представляет систему с положительными зарядами в (4,0) и (1, -1) и отрицательным зарядом в (6,0).
В качестве альтернативы, вы можете принять ввод как список строк.
Выход
Подписанное действительное число, представляющее потенциальную энергию системы зарядов. Вывод должен быть правильным до четырех значащих цифр или 10 -4 , в зависимости от того, что меньше.
Тестовые случаи:
-
Должен выходной 0
. Нет пар зарядов, которые можно отбить или привлечь, и пробел ничего не меняет.
+
-
Есть только два обвинения; они на расстоянии в 1 единицу в вертикальном направлении и в 2 единицах в горизонтальном направлении, поэтому их расстояние равно квадратному (5). Выход должен быть -1 / sqrt (5) = -0.447213595
.
+ -
- +
Должен дать -2.001930531
.
- -- -+ - - -+-++-+
+-- + +-- + ++-++ -
---++-+-+- -+- - +-
-- - -++-+ --+ +
- + --+ ++-+ +-
-- ++- + + -+--+
+ +++-+--+ +--+++ +
-+- +-+-+-+ -+ +--+
- +-+- + ---+
- - ++ -+- --+--
Должен дать -22.030557890
.
---+--- ++-+++- -+ +
-+ ---+++-+- +- + +
---+-+ - ---- +-- -
- + +--+ -++- - -
--+ - --- - -+---+ -
+---+----++ - + +
-+ - ++-- ++- -+++
+----+- ++-+-+ -
++- -+ -+---+ -- -+
+-+++ ++-+-+ -+- +-
Должен дать 26.231088767
.