1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
.\" $OpenBSD: factor.6,v 1.13 2015/12/30 14:07:53 tb Exp $
.\"
.\" Copyright (c) 1989, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" This code is derived from software contributed to Berkeley by
.\" Landon Curt Noll.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)factor.6 8.1 (Berkeley) 5/31/93
.\"
.\"
.\" By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo
.\"
.\" chongo <for a good prime call: 391581 * 2^216193 - 1> /\oo/\
.\"
.Dd $Mdocdate: December 30 2015 $
.Dt FACTOR 6
.Os
.Sh NAME
.Nm factor ,
.Nm primes
.Nd factor a number, generate primes
.Sh SYNOPSIS
.Nm factor
.Op Ar number ...
.Nm primes
.Op Ar start Op Ar stop
.Sh DESCRIPTION
The
.Nm
utility will factor 64-bit positive integers.
When a number is factored, it is printed, followed by a
.Sq \&: ,
and the list of its prime factors in ascending order, on a single line.
Every prime factor is printed as often as it divides the number.
.Pp
When
.Nm
is invoked with one or more arguments,
each argument will be factored.
.Pp
When
.Nm
is invoked with no arguments,
.Nm
reads numbers, one per line, from standard input, until end of file or error.
White-space and empty lines are ignored.
Numbers may be preceded by a single +.
After a number is read, it is factored.
Input lines must not be longer than 99 characters.
.Pp
The
.Nm primes
utility prints primes in ascending order, one per line, starting at or above
.Ar start
and continuing until, but not including
.Ar stop .
The
.Ar start
value must be at least 0 and not greater than
.Ar stop .
The
.Ar stop
value must not be greater than 4294967295.
The default value of
.Ar stop
is 4294967295.
.Pp
When the
.Nm primes
utility is invoked with no arguments,
.Ar start
is read from standard input.
.Ar stop
is taken to be 4294967295.
The
.Ar start
value may be preceded by a single +.
The input line must not be longer than 99 characters.
.Sh BUGS
.Nm factor
cannot handle the
.Dq 10 most wanted
factor list;
.Nm primes
won't get you a world record.
|