Each player takes turns coming up with algorithmic steps, one step at
a time in sequence, each step giving a rule to transform an integer
(such as: multiply m by greatest prime p, where p divides m and is <=
sqrt(|m|). If no such prime exists, leave m unchanged.)
(or such as: m = floor(|m|/d(|m|)), where d(m) is number of positive
divisors of m.)
(or rules may involve meta-transformations, such as sending players to
previous rules, depending somehow upon the value of the integer when
reaching the step.)
Anyway, players are encouraged to be creative when inventing rules!
Each step is capable of transforming any integer, always giving an
integer as output.
After a predetermined number of steps have been created (the same
number for each player), a random integer is generated somehow.
Players then try to guess what the output intger will be.
The algorithm is run using the random start-integer.
The winner of the game is the player who comes closest to guessing the
final output integer.
Of course, there should be a time limit between when the random
integer is picked (after the list of rules is completed) and when the
players must submit their predictions as to what will be the output of
(Otherwise, each player could just go through the algorithm manually,
each player perhaps predicting the output exactly...)