Gaussian целое представляет собой комплексное число, действительные и мнимые части являются целыми числами.
Гауссовы целые числа, как и обычные целые, могут быть представлены как произведение гауссовых простых чисел уникальным образом. Задача здесь состоит в том, чтобы вычислить простые составляющие данного гауссова целого числа.
Входные данные: гауссово целое число, которое не равно 0 и не является единицей (т. Е. 1, -1, i и -i не могут быть заданы в качестве входных данных). Используйте любой разумный формат, например:
- 4-5i
- -5 * J + 4
- (4, -5)
Вывод: список гауссовых целых чисел, которые являются простыми (т.е. ни одно из них не может быть представлено как произведение двух неединичных гауссовых целых чисел), и произведение которых равно входному числу. Все числа в списке вывода должны быть нетривиальными, т. Е. Не 1, -1, i или -i. Любой разумный выходной формат может быть использован; он не обязательно должен совпадать с форматом ввода.
Если список вывода содержит более 1 элемента, возможны несколько правильных выходов. Например, для входа 9 выход может быть [3, 3] или [-3, -3] или [3i, -3i] или [-3i, 3i].
Контрольные примеры (из этой таблицы ; 2 строки на контрольный пример)
2
1+i, 1-i
3i
3i
256
1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i,1+i
7+9i
1+i,2−i,3+2i
27+15i
1+i,3,7−2i
6840+585i
-1-2i, 1+4i, 2+i, 3, 3, 6+i, 6+i
Встроенные функции для факторизации гауссовых целых чисел не допускаются. Факторинг обычных целых чисел встроенными функциями допускается.
3i
правильный ответ, потому что i
не простое число. Я обновил тестовый пример, чтобы сделать его более понятным.
256=(1+i)**16
не (1+i)**8
потому , что 256=2**8=(2i)**8
и2i=(1+i)**2
3i
возвращаться как3,i
или3i
?