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