; . :
define factors(n)
z = 2
while (z * z <= n)
if (n % z == 0)
output z
n /= z
else
z++
if n > 1
output n
++ .
: (, ) :
- . n = 13195. z = 2, 13195 2 1, else z = 3 . n 3 4, z = 5, 13195 5 , 5 13195 5, n = 2639 z = 5 . n = 2639 5 6, 7, 7 n = 2639/7 = 377. z = 7 , 8, 9 10, 11 12, 377/13 = 29 , 13 n = 29. z = 13 z * z = 169, 29, 29 13195, 29. 5 * 7 * 13 * 29 = 13195.
, , , Project Euler # 3. , .