mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
78 lines
2.6 KiB
Plaintext
78 lines
2.6 KiB
Plaintext
NAME
|
|
factor - smallest prime factor not exceeding specified limit
|
|
|
|
SYNOPSIS
|
|
factor(n [, limit [, err]])
|
|
|
|
TYPES
|
|
n integer
|
|
limit integer with abs(limit) < 2^32, defaults to 2^32 - 1
|
|
err integer
|
|
|
|
return positive integer or err
|
|
|
|
DESCRIPTION
|
|
This function ignores the signs of n and limit, so here we shall
|
|
assume n and limit are both nonnegative.
|
|
|
|
If n has a prime proper factor less than or equal to limit, then
|
|
factor(n, limit) returns the smallest such factor.
|
|
|
|
NOTE: A proper factor of n>1 is a factor < n. In other words,
|
|
for n>1 is not a proper factor of itself. The value 1
|
|
is a special case because 1 is a proper factor of 1.
|
|
|
|
When every prime proper factor of n is greater than limit, 1 is
|
|
returned. In particular, if limit < 2, factor(n, limit) always
|
|
returns 1. Also, factor(n,2) returns 2 if and only if n is even
|
|
and n > 2.
|
|
|
|
If 1 < n < nextprime(limit)^2, then f(n, limit) == 1 <==> n is prime.
|
|
For example, if 1 < n < 121, n is prime if and only if f(n,7) == 1.
|
|
|
|
If limit >= 2^32, factor(n, limit) causes an error and factor(n,
|
|
limit, err) returns the value of err.
|
|
|
|
EXAMPLE
|
|
; print factor(35,4), factor(35,5), factor(35), factor(-35)
|
|
1 5 5 5
|
|
|
|
; print factor(2^32 + 1), factor(2^47 - 1), factor(2^59 - 1)
|
|
641 2351 179951
|
|
|
|
LIMITS
|
|
limit < 2^32
|
|
|
|
LINK LIBRARY
|
|
FLAG zfactor(ZVALUE n, ZVALUE limit, ZVALUE *res)
|
|
|
|
SEE ALSO
|
|
isprime, lfactor, nextcand, nextprime, prevcand, prevprime,
|
|
pfact, pix, ptest
|
|
|
|
## Copyright (C) 1999-2006 Landon Curt Noll
|
|
##
|
|
## Calc is open software; you can redistribute it and/or modify it under
|
|
## the terms of the version 2.1 of the GNU Lesser General Public License
|
|
## as published by the Free Software Foundation.
|
|
##
|
|
## Calc is distributed in the hope that it will be useful, but WITHOUT
|
|
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
## Public License for more details.
|
|
##
|
|
## A copy of version 2.1 of the GNU Lesser General Public License is
|
|
## distributed with calc under the filename COPYING-LGPL. You should have
|
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
##
|
|
## @(#) $Revision: 30.1 $
|
|
## @(#) $Id: factor,v 30.1 2007/03/16 11:10:42 chongo Exp $
|
|
## @(#) $Source: /usr/local/src/bin/calc/help/RCS/factor,v $
|
|
##
|
|
## Under source code control: 1995/12/18 12:34:57
|
|
## File existed as early as: 1995
|
|
##
|
|
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
|
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|