Thanks. Looks like a nice orderly list, from which you eliminated some (many) by using divisibility tests, I presume. What I would do is considerably more efficient, even if I try to keep it at the appropriate level. The key is to only
imagine writing out the list, until there's a reason to do so. That is, cut down the size of the list
before actually writing it.
First, since the number has to be
divisible by 4, the last two digits must form a multiple of 4 (since the rest of the digits form a multiple of 100). So the last two digits have to be 12. That cuts your list down by a factor of 4.
Second, since the number has to be
divisible by 3, the sum of the digits must be a multiple of 3. We can list all possibilities, ignoring order:
12, 111, 222, 1122, 11112, 12222, 111111, 111222, 222222
(There are several ways this list can be made, at varying levels of sophistication.) Now just look for all ways to order those, putting 12 at the end.
If I were working with a child on this, I would probably watch them make a list and then point out things like "none of those numbers were even, so they couldn't work. Why don't we skip writing odd numbers from now on?" or "None of the numbers in this set of four worked; why not? Could we decide ahead of time which groups not to bother with?"
This is exactly the sort of thinking I often do while I'm working on an unfamiliar problem, just trying brute force while trying to learn things about the problem that can help me save time.