Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am working on a problem that involves the following:

One must find three numbers, integers and/or decimals, that multiply to ten.

Here's the catch:

You must use all integers, $0-9$, in the answer! So $1\times 2\times 5$ does not work.

I do not want the answer.

Instead, I ask if anyone has any ideas to which I can get as close to 10 as possible. The hint in the problem is that you cannot get to ten exactly, but close to it.

Right now, I have $1\times 2\times 5.0346789 = 10.0...$ Again, I do not want the answer, only a mathematical way to get to the answer. I cannot determine why I would be assigned this problem if it had no relation to mathematics.

Decimals ($\$) count as use of the $0$, and you can place the zero at the end ($\rm x.xxx0$), too

share|cite|improve this question
I don't think there's anything better than brute-force: trying all ways of assigning the digits 0-9 to three sets and permutations within the sets. (Essentially, trying all permutations of: the ten digits 0-9, two *s, and up to three .s.) (Of course, once you fix two, the third can be determined easily, but beyond that...) – ShreevatsaR Oct 16 '11 at 2:50
Shreevatsa, do you have any idea how much work that could be? – Gerry Myerson Oct 16 '11 at 3:23
@GerryMyerson: Yes. A rough upper bound is $10!$ (permutations of the digits) $\times$ $9 \choose 2$ (where to place the dividers to split them into three), which is less than 200 million (multiplied by some constant amount of work to place the decimal points, and all that)... should be easily doable on any decent computer. (In case your question was rhetorical: I wasn't even considering doing it by hand, and that was the point of my previous comment. I don't see how you can solve "get as close to 10 as possible", at least for general n instead of 10, without brute force / computer help.) – ShreevatsaR Oct 16 '11 at 5:50
Are exponentials (as in, say, $3^{456}$) allowed as one of the numbers? – Andrés E. Caicedo Oct 16 '11 at 6:09
@GerryMyerson: For instance, I don't think that it is easy, by hand, to arrive at solutions like $0.274 \times 5.983 \times 6.1 \approx 9.9999862$ or $0.26 \times 5.38 \times 7.149 \approx 10.0000212$ (neither of which is optimal BTW, because the OP doesn't want the answer). – ShreevatsaR Oct 16 '11 at 7:20
up vote 3 down vote accepted

You could try programming a search that factors integers that are close to powers of $10$, and then examines the factors for their digits.

For example, $100002$ factors as $2\times3\times7\times2381$. Searching through possible triples of divisors, $6\times7\times 2381$ has unique digits (but is missing $4$, $5$, and $9$). If all digits were accounted for, this would lead to to $10.002=6\times7\times0.02381$.

(I'm not sure from your post if you are allowed to repeat digits, like how $0$ is repeated in this example.)

The search parameters would be which powers of $10$ you would examine, and also constraints on how far away from that power of $10$ you would roam. If digits aren't supposed to be repeated, I think $10^a$ with $a$ in $\left\{9,10,11\right\}$ would be appropriate. (And at this level, factoring shouldn't take the program too long.)

share|cite|improve this answer
Very good answer! The only problem I am having is that I don't really understand how to factor in a programming language. I know many (C, C++, Java, Python - don't like it) but I really cannot find any material that gives me information on factoring in a program. Also, the numbers cannot be repeated :( – nmagerko Oct 16 '11 at 13:46
@nmagerko: the simple approach to factoring is to have a list of primes ( has some info) then do trial division. As you are only interested in numbers up to $10^{10}$ you only need to divide by primes up to $10^5$. There aren't that many-9592, so it will run quickly. – Ross Millikan Oct 16 '11 at 15:59
I found it! By rearranging the numbers in the example problem, I found the answer... too bad @ShreevatsaR put the answer on here EVEN THOUGH I ASKED EVERYONE NOT TO. Found it about ten days ago though; thanks for your help Ross and Alex – nmagerko Oct 31 '11 at 2:41

So, you've started with $1\times2\times5$, and you've varied the 5 a little bit. Maybe you could try varying two of the three numbers, or all three of them.

share|cite|improve this answer
I have tried this, but it seems like the numbers only get larger from the variations of these numbers. I feel like I'm just missing something simple – nmagerko Oct 16 '11 at 2:48
If you vary the 2 up a bit, and the 5 down a bit, you can certainly do better than the 10.069... that you currently have. – Gerry Myerson Oct 16 '11 at 2:53
1*2.053*4.8796 is what I have so far, and I think I am getting the hang of it, but do I still have to vary more to get what you are at? – nmagerko Oct 16 '11 at 3:40

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.