NAME
Math::NumSeq::DigitCount -- count of a given digit
SYNOPSIS
use Math::NumSeq::DigitCount;
my $seq = Math::NumSeq::DigitCount->new (radix => 10,
digit => 9);
my ($i, $value) = $seq->next;
DESCRIPTION
The count of how many of a given digit is in $i
when written out in a given radix. The default is to count how many 9s in decimal.
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, ...
starting i=0
For example i=19 has a single "9" so value=1.
The radix
and digit
options can select a different number base or different digit to count. For example to count the 0-bits in binary,
# radix=>2, digit=>0
0, 0, 1, 0, 2, 1, 1, 0, 3, 2, 2, 1, 2, 1, 1, 0, 4, 3, 3, 2, ...
starting i=0
i=0 is treated as no digits at all, so it has value=0 for the count of 0-bits, and similarly in other bases counting 0 digits.
Option digit => -1
gives the highest digit in the radix, ie. radix-1. This is the default, so if radix
is given the count is of its biggest digit.
FUNCTIONS
See "FUNCTIONS" in Math::NumSeq for behaviour common to all sequence classes.
$seq = Math::NumSeq::DigitCount->new (radix => $r, digit => $d)
-
Create and return a new sequence object.
digit
can be -1 to mean digit radix-1, the highest digit in the radix.
Random Access
$value = $seq->ith($i)
-
Return how many of the given
digit
is in$i
written inradix
. $bool = $seq->pred($value)
-
Return true if
$value
might occur as a digit count, which means simply$value>=0
.
SEE ALSO
Math::NumSeq, Math::NumSeq::DigitLength, Math::NumSeq::RadixWithoutDigit
HOME PAGE
http://user42.tuxfamily.org/math-numseq/index.html
LICENSE
Copyright 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2019 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/>.