First define a function g from R to the half-open interval [0,1).
Express |x| in ternary (base 3).
(Note: when x is rational with a power of 3 in the denominator, we have a choice between a representation ending in an infinite number of 0's or one ending in an infinite number of 2's; select the former.)
If the expression has an infinite number of 2's, or no 2's at all, then set g(x)=0.
Otherwise it has a finite number of 2's.
Take the portion of the ternary expansion of |x| after the last 2, precede it with a decimal point, and interpret it as a binary number; let that be g(x).
The function g maps R to [0,1), and it maps each open interval I=(u,v) to all of [0,1).
Now set f(x)=0 if g(x)=0, otherwise f(x)=tan(pi(x-1/2)).
If you have any problems you think we might enjoy, please send them in. All replies should be sent to: email@example.com