Thread:BunsenH/@comment-28858167-20170804165504/@comment-24577221-20170804205407

One solution is for you to have one or more people whom you trust to really roll random numbers. Any time you need to have a random number generated by someone else, you have one of your trusted people roll as well, and add the two numbers together. If the result is bigger than the maximum possible value, you subtact that maximum number from the total value. This "wraps" the number.

For example, if you're looking for a number between 1 and 10, suppose person A rolls a 7. If your trusted person B rolls a 2, the result is (7 + 2) = 9. If person B rolls a 5, the result is (7 + 5 - 10) = 2. If person B rolls a 10, the result is still 7 because 7 + 10 - 10 = 7. The system is fair for person A because the final result depends on their roll just as much as it depends on person B's roll.

The problem with this is that everyone has to wait until one of your trusted people can come along to do the second roll.

There are several terms for this, depending on how you look at the problem. For example, you can see it as a division with remainder: the two numbers are added together and then divided by the maximum number, and the final result is equal to the remainder. If the remainder is 0, the final result is equal to that maximum number. Also: "modulo", "ring".

There's some interesting logic and math behind systems that try to make things random or "fair". You're probably familiar with the problem of splitting something fairly between two people. The usual method there is for one person to do the splitting and the other person gets to choose which part they want. It gets more complicated if there are more than two people, but it can still be made to work fairly.