need a function
Andrew Weimholt
andrew at weimholt.com
Sat Jun 14 11:41:49 CEST 2008
Here's a more elegant solution...
break up the desired value of f(x) into bits, a,b,c,d,e such that
f(x) = 16 * e(x) + 8 * d(x) + 4 * c(x) + 2 * b(x) + a(x)
a(x) = (x % 3)/2
b(x) = (x % 5)/3
c(x) = (x % 17)/9
d(x) = (x % 257)/129
e(x) = (x % 65537)/32769
So we have
f(x) = 16 * ((x % 65537)/32769) + 8 * ((x % 257)/129) + 4 * ((x % 17)/9)
+ 2 * ((x % 5)/3) + (x % 3)/2
replacing x % n with x - n(x/n), we get...
f(x) = 16((x - 65537(x/65537))/32769) + 8((x - 257(x/257))/129) +
4((x - 17(x/17))/9) + 2((x - 5(x/5))/3) + (x - 3(x/3))/2
Andrew
More information about the SeqFan
mailing list