You say you have $9000$ four-digit numbers.
To count numbers with no consecutive repeat digits is quite easy: you say you have $9$ choices for the first digit; given the first you have $10-1=9$ choices for the second; given the second you have $9$ choices for the third; given the third you have $9$ choices for the fourth.
$$\dfrac{9^4}{9 \times 10^3} = 0.729$$ so if this is what you were trying to do then you have made a mistake.
(Added) If alternatively you are looking for the numbers which do not have any consecutive $5$s, the easiest way to count is to look at those which do, as you attempted.
There are three possible patterns of the forms 55AA
, B55A
or CD55
where A
is any digit , B
is any digit except $0$ or $5$, C
is any digit except $0$, and D
is any digit except $5$. So there are $10\times 10 + 8 \times 10 + 9\times 9 = 261$ four-digit numbers which have consecutive $5$s and so $9000-261 = 8739$ which do not.
$$\dfrac{8739}{9000} = 0.971$$ so again you have an error, but much closer this time. You might try to spot how you have over counted the second two patterns
A start: Here it is easier to count the complementary number: the number of 6 digit positive integers with four or more of one digit repeated.
This reduces to only four cases: (4, 1, 1), (4, 2), (5, 1), (6).
The rest:
(6) is simply $9$. These are $(111111, 222222, \dots, 999999)$.
(5, 1) is a little trickier. First there are $9 * 8$ ways to choose two distinct digits that aren't either zero and assign each to $5$ or $1$. Then there are ${6 \choose 1}$ ways to permute the order.
Now there's case where one is zero. There are $9$ ways to choose the other digit (it can't be zero or else the entire number is zero). For each combination, there are similarly ${6 \choose 1}$ ways to permute the order. In particular, there are ${6 \choose 1}$ ways to permute five zeros and one of the other digit and another ${6 \choose 1}$ ways to permute one zero and five of the other digit. Exactly half of these are valid by symmetry.
Indeed, the bijection that flips each digit demonstrates this property: if we map, e.g., $aaaa0a \mapsto 0000a0$, exactly one of these will be valid for each pair. In this case, we have $a00000, a0aaaa, aa0aaa, aaa0aa, aaaaa0a, aaaaa0$ as valid strings. In total this gives
$$(9 * 8 + 9) * {6 \choose 1} = 486.$$
(4, 2) is similar. There are $9*8$ ways to initially choose and then ${6 \choose 2}$ ways to permute the order.
If one is zero, again there are $9$ ways to choose the other digit and for each combination the number of ways to permute the order is ${6 \choose 2}$. This is
$$(9 * 8 + 9) {6 \choose 2} = 1215.$$
Finally (4, 1, 1). There are $9 * {8 \choose 2}$ ways to choose non-zero digits and assign them to a frequency. There are then $6! / 4!$ permutations. This gives
$$9 * {8 \choose 2} * 6! / 4! = 7560.$$
Now choose a triplet of unique digits $(a, b, c)$ where one is zero. There are ${9 \choose 2}$ ways of doing so. Now, consider the ${6 \choose 4}$ ways to make a string from four $r$'s (r for repeated) and two $s$'s (s for single). If we are given $rsrrrs$, for example, there are now $3!$ ways to choose one of the digits as the repeated and the other two each into one $s$ spot. Of these, two are invalid, namely when we choose the repeated digit to be zero. You can convince yourself this holds for any string. Thus, this gives
$$4{9 \choose 2}{6 \choose 4} = 2160$$
The grand total is $11430$. There are $900000$ six digit numbers in total, so the desired number is $\boxed{888570}$.
Verified solution on computer in Python:
def get_frequencies(cycle):
result = 0
for num in range(10**5, 10**6):
digit_freq = [0]*10
for digit in get_digits(num):
digit_freq[digit] += 1
digit_cycle = sorted([x for x in digit_freq if x != 0], reverse=True)
if digit_cycle == cycle:
result += 1
return result
def get_digits(num):
r = []
while num > 0:
r.append(num % 10)
num /= 10
return r
Running with the following main function:
def main():
print get_frequencies([6], 6)
print get_frequencies([5, 1], 6)
print get_frequencies([4, 2], 6)
print get_frequencies([4, 1, 1], 6)
Outputs the following lines:
9
486
1215
9720
Or, more directly, we can use this program:
def get_frequency_atmost(max_freq, n):
result = 0
for num in range(10**(n-1), 10**n):
digit_freq = [0]*10
for digit in get_digits(num):
digit_freq[digit] += 1
if max(digit_freq) > max_freq:
result += 1
return 10**n - 10**(n-1) - result
which prints $888570$ on input get_frequency_atmost(3, 6)
.
Best Answer
All four digits the same: $aaaa$
$9$ choices for $a$, total numbers: $1\times 9=9$
Three digits the same: $aaab, aaba, abaa, abbb$
$9$ choices for $a$ and $9$ for $b$, total: $4\times 9\times 9=324$
Two digits the same, other two distinct: $aabc, abac, abca, abbc, abcb, abcc$
$9$ choices for $a$, $9$ for $b$ and $8$ for $c$, total: $6\times 9\times 9\times 8=3888$
Two digits the same, other two also same: $aabb, abab, abba$
$9$ choices for $a$ and $9$ for $b$, total: $3\times 9\times 9=243$
Grand total: $9+324+3888+243=4464$