Skip to main content

This uses much less math than other options:

Concatenate the observed numbers, then concatenate the numbers again but change the first digit of each number being concatenated (modifying the last digit also works).

Even if the numbers chosen were ambiguous when concatenated, such as repeating sequences or numbers of different length, you would write them in a given order: $ABC$, then again, modifying the first digit of each: $ABCabc$.

Example:

You see 12 121212 and 12121212. You write: 12121212121212124242121242121212. Whoever reads it divides it in half (this example doesn't require carrying, but if it did that fact would be obvious) 1212121212121212 and 4242121242121212 and sees where the 4's were added to correctly parse the first part: 12 121212 12121212, they see two of these numbers and know they are the third.

Another example: if you saw the numbers 3, 33 and 333, you would write down:
333333553533
Or something similar. Once splitting, the first half gives you the raw answer concatenated:
333333
Whereas the second half gives you the places to split it, based on where differences happen:
5 - 53 - 533

This way, you can always tell the three numbers apart. Once receiving someone else's number, you can easily work out your number by excluding the numbers you can already see.

user19641