---
name: "factor"
section: "6"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/factor/6"
---

# factor(6)

factor a number, generate primes

## NAME

**factor**, **primes** – factor a number, generate primes

## SYNOPSIS

**factor** \[**-h**\] \[*number* *...*\]

**primes** \[**-h**\] \[*start* \[*stop*\]\]

## DESCRIPTION

The **factor** utility will factor positive integers. When a number is factored, it is printed, followed by a ‘:’, and the list of factors on a single line. Factors are listed in ascending order, and are preceded by a space. If a factor divides a value more than once, it will be printed more than once.

When **factor** is invoked with one or more arguments, each argument will be factored.

When **factor** is invoked with no arguments, **factor** reads numbers, one per line, from standard input until end of file or 0 is entered or an error occurs. Leading white-space and empty lines are ignored.

Numbers may be preceded by a single ‘+’. Numbers can be either decimal or hexadecimal strings where the longest leading substring is used. Numbers are terminated by a non-digit character (such as a newline). If the string contains only decimal digits, it is treated as a decimal representation for a number. A hexadecimal string can contain an optional *0x* or *0X* prefix. After a number is read, it is factored.

The **primes** utility prints primes in ascending order, one per line, starting at or above *start* and continuing until, but not including *stop*. The *start* value must be at least 0 and not greater than *stop*. The *stop* value must not be greater than the maximum. The default and maximum value of *stop* is 18446744073709551615.

When the **primes** utility is invoked with no arguments, *start* is read from standard input and *stop* is taken to be the maximum. The *start* value may be preceded by a single ‘+’. The *start* value is terminated by a non-digit character (such as a newline).

## DIAGNOSTICS

- negative numbers aren't permitted

  - illegal numeric format

  - start value must be less than stop value

  - Result too large

  ## BUGS

**factor** cannot handle the “10 most wanted” factor list, **primes** will not get you a world record.
