Math::NumSeq::DigitCount -- count of a given digit
use Math::NumSeq::DigitCount; my $seq = Math::NumSeq::DigitCount->new (radix => 10, digit => 9); my ($i, $value) = $seq->next;
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.
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.
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.
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.
$value = $seq->ith($i)
Return how many of the given
digit is in
$i written in
$bool = $seq->pred($value)
Return true if
$value might occur as a digit count, which means simply
Copyright 2010, 2011, 2012, 2013, 2014 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/>.