Sum of all numbers that can be made out of a set of digits with possibly many duplicates The problem goes as follows, let $S$ be a set of nonzero digits, with possibly repeating or missing digits. Let $K \geq |S|$, I want to find the sum of all numbers with $K$ or less digits, whose nonzero digits exhaust the set $S$. To elaborate, suppose $K = 3$ and $S = \{1,1\}$. Then the numbers satisfying the criteria are $11,101$ and $110$ so the sum would be $222$.
Now I want to consider large sets of numbers (for programming purposes), denote these by $S = \{d_1,\ldots,d_1,d_2,\ldots,d_2,\ldots d_j,\ldots,d_j\}$. I choose this notation to reflect the fact that there may be multiple duplicates and that not all the digits $1,\ldots, 9$ need to be included in the set.
The way I want to attack this problem is by decomposing the numbers created by the digits into single digits numbers. I tried the following approach but I am not sure it is right: Extend the set $S$ by $K - |S|$ zeroes. Then using the elements in $S$ we can create exactly 
$$ \frac{K!}{m_0!m_1!\cdots m_9!}$$
numbers, where $m_j$ denotes the multiplicity of $d_i$ in $S$. Now of these numbers, the fraction $ m_i / K$ will have $d_i$ as the last digit, and for the other digits the fraction is the same. Thus the total sum should be
$$ \frac{K!}{m_0!m_1!\cdots m_9!} \cdot \underbrace{11 \ldots 11}_{k \ \text{times}} \cdot \sum\limits_{i=0}^9 d_i \frac{m_i}{K}.$$
The $\underbrace{11 \ldots 11}_{k \ \text{times}}$ reflects the sum of the weights the digits have at all possible positions.
In the example I showed we would have $S = \{1,1,0\}$ and $K = 3$, giving the total sum of
$$\frac{3!}{0!2!}\cdot 111 \cdot \left( 1 \cdot \frac{2}{3} \right) = 222,$$
which is correct. The formula can be rewritten as 
$$ \frac{(K-1)!}{(K-|S|)!m_1!\cdots m_9!} \cdot \underbrace{11 \ldots 11}_{k \ \text{times}} \cdot \sum S.$$
I wrote a small algorithm that implements this method of calculating the sum as well as a brute force implementation but the numbers do not seem to  match. The motivation I give above for the formula is not really rigorous, especially the part about the fraction of all numbers that have $d_i$ as a certain digit. So is my reasoning correct? Thanks!

This can be  confirmed using basic generating functions.  We have from
first principles that the desired quantity is
$$\left.\frac{d}{dz}
[A_1^{m_1} A_2^{m_2}\cdots]
\prod_{q=0}^{K-1}
(1 + A_1 z^{d_1 10^q} + A_2 z^{d_2 10^q} + \cdots)\right|_{z=1}.$$
Performing the derivative before the coefficient extraction we get
$$\left.
[A_1^{m_1} A_2^{m_2}\cdots]
\prod_{q=0}^{K-1}
(1 + A_1 z^{d_1 10^q} + A_2 z^{d_2 10^q} + \cdots)
\\ \times \sum_{q=0}^{K-1}
\frac{
A_1 d_1 10^q z^{d_1 10^q-1} 
+ A_2 d_2 10^q z^{d_2 10^q-1} + \cdots}
{1 + A_1 z^{d_1 10^q} + A_2 z^{d_2 10^q} + \cdots}
\right|_{z=1}.$$
Evaluate at $z=1$ to obtain
$$[A_1^{m_1} A_2^{m_2}\cdots]
(1 + A_1 + A_2 + \cdots)^K
\sum_{q=0}^{K-1}
\frac{
A_1 d_1 10^q 
+ A_2 d_2 10^q + \cdots}
{1 + A_1 + A_2 + \cdots}
\\ = [A_1^{m_1} A_2^{m_2}\cdots]
(1 + A_1 + A_2 + \cdots)^{K-1} 
\frac{10^K-1}{9} (A_1 d_1 + A_2 d_2 + \cdots).$$
Doing the coefficient extraction we get
$$\frac{10^K-1}{9} 
\sum_{p}  d_p [A_1^{m_1} A_2^{m_2}\cdots A_p^{m_p-1}\cdots]
(1 + A_1 + A_2 + \cdots)^{K-1}
\\ = \frac{10^K-1}{9} 
\sum_{p}  d_p 
\frac{(K-1)!}{(K-|S|)! m_1! m_2! \cdots (m_p-1)!\cdots}
\\ = \frac{10^K-1}{9} 
\sum_{p}  d_p m_p
\frac{(K-1)!}{(K-|S|)! m_1! m_2! \cdots}
\\ = \frac{10^K-1}{9} \frac{(K-1)!}{(K-|S|)! m_1! m_2! \cdots}
\sum_{p}  d_p m_p.$$
Interesting problem.
 The following Maple code can  be used to verify the correctness of
the  above result  (warning --  total enumeration,  only use  on small
samples.)

with(combinat);

X :=
proc(d, K)
    option remember;
    local src, res, perm;

    if K < nops(d) then return 0 fi;

    res := 0;

    src := [seq(q, q in d), seq(0, q=1..K-nops(d))];

    for perm in permute(src) do
        res := res + add(perm[q]*10^(q-1), q=1..K);
    od;

    res;
end;

Y :=
proc(d, K)
    option remember;
    local mset;

    if K < nops(d) then return 0 fi;

    mset := convert(d, `multiset`);

    (10^K-1)/9*(K-1)!
    *add(p[1]*p[2], p in mset)
    /mul(p[2]!, p in mset)
    /(K-nops(d))!;
end;

