Math::NumSeq::KaprekarNumbers -- digits of square add to the original
use Math::NumSeq::KaprekarNumbers; my $seq = Math::NumSeq::KaprekarNumbers->new (); my ($i, $value) = $seq->next;
In progress ...
This is the Kaprekar numbers, those integers where adding upper and lower digits of the square gives the integer itself.
1, 9, 45, 55, 99, 297, 703, 999, 2223, 2728, ...
For example 45 is in the sequence because 45^2=2025 and 20+25=45. The split of the square can be at any digit position. For example 5292^2=28005264 is split as 28+005264=5292.
In the current code next() is not very efficient, it merely tests integers with pred().
next()
pred()
An optional radix parameter selects a base other than decimal.
radix
See "FUNCTIONS" in Math::NumSeq for behaviour common to all sequence classes.
$seq = Math::NumSeq::KaprekarNumbers->new ()
$seq = Math::NumSeq::KaprekarNumbers->new (radix => $integer)
Create and return a new sequence object.
$bool = $seq->pred($value)
Return true if $value is a Kaprekar number.
$value
Math::NumSeq, Math::NumSeq::DigitSum
http://user42.tuxfamily.org/math-numseq/index.html
Copyright 2012 Kevin Ryde
Math-NumSeq is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
Math-NumSeq 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with Math-NumSeq. If not, see <http://www.gnu.org/licenses/>.
To install Math::NumSeq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Math::NumSeq
CPAN shell
perl -MCPAN -e shell install Math::NumSeq
For more information on module installation, please visit the detailed CPAN module installation guide.