Комплексные числа

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Математика

Реализуйте операции над комплексными числами без встроенной поддержки. Число a + b·i передаётся списком из двух чисел [a, b]. Функция получает название операции operation и два числа z1, z2 (для операций над одним числом z2 равно [0, 0] и не используется) и возвращает список чисел.

  • "real", "imaginary": вещественная часть [a], мнимая часть [b].
  • "abs": модуль [√(a² + b²)].
  • "conjugate": сопряжённое [a, -b].
  • "add", "sub": сумма и разность z1 и z2, по частям.
  • "mul": произведение [a·c − b·d, b·c + a·d] для z2 = [c, d].
  • "div": частное z1 / z2, z2 не ноль: [(a·c + b·d) / (c² + d²), (b·c − a·d) / (c² + d²)].
  • "exp": e в степени z1, то есть eᵃ·(cos b + i·sin b), результат [eᵃ·cos b, eᵃ·sin b].

Вещественное число x в паре с комплексным записывается как [x, 0]. Числа сравниваются с точностью 1e-6.

Пример: "mul", [1, 2], [3, 4] → [-5, 10].


Источник: Exercism, complex-numbers · © Exercism · MIT · условие переведено и дополнено

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки