# Prime Factorization [duplicate]

Although there was a prime factors challenge posted ten years ago, it has tedious I/O and restricted time. In this challenge, your task is to write a program or function which takes an integer $$\n \ge 2\$$ as input, and returns its prime factors.

Input will consist of an integer, $$\n \ge 2\$$. Your program should theoretically work for arbitrarily large numbers, but can fail due to limits like integer overflow.

Your program should print/return the prime factors (in any order), in any reasonable representation. For example, 180 could be represented as [2, 2, 3, 3, 5], or "2 3 5 2 3", or through any other collection type or string representation.

Test cases:

2       [2]
3       [3]
6       [2, 3]
12      [2, 2, 3]
25      [5, 5]
180     [2, 2, 3, 3, 5]
181     [181]


Other:

Any trivial built-in answers should go in this community wiki.

This is , so shortest answer (in bytes) per language wins.

# Javascript, 43 bytes

f=(n,i=2)=>n%i?n-1?f(n,i+1):"":i+" "+f(n/i)


Outputs a space separated list with a trailing space. It dies pretty quickly due to recursion limits, partially because it restarts at 2 every time it finds a new prime.

# Vyxal, 16 bytes

ʀǎ:£$vǑ¥Zƛ÷w$ẋ;f


Try it Online at your own risk!

It is horrendously slow for large numbers, but it works

## Explained

ʀǎ:£$vǑ¥Zƛ÷w$ẋ;f
ʀǎ                  # nth prime for each item in the range [0 ... input - 1]
:£                # put that into the register while leaving it on the stack
$vǑ # get the divisbilty of each prime into the input ¥Z # and zip that with the register ƛ ; # for each item in that zipped list: (each item is: [divisbilty, prime factor]) ÷w # push divisbilty, [prime_factor]$ẋ       #      and repeat [prime_factor] divisibility times
f    # flatten the unholy mess that results from doing the above


Edit: This challenge is closed. Please do not add solutions here; instead, consider creating a CW for trivial solutions on the dupe target, or just post your answer there as there are already many trivial solutions.

# Vyxal, 1 byte

ǐ


Try it Online!

# Jelly, 2 bytes

Æf


Try it online!

# Factor + math.primes.factors, 7 bytes

factors


Try it online!

# 05AB1E, 1 byte

Ò


Try it online!

# J, 2 bytes

q:


Try it online!

Matlab, 17 bytes

factor(input(''))