Lets My Haskell solution see for computer science edition with comments: f0 = 0 fn odd and useful = n + 1 fn odd and bad = n 1 fn even and useful = n 1 = n + 1 fn even and bad = n + 1 = n 1Definitely cheeting, but programming perl state variables are so tempting ;sub fun However, with out that implied constraint, there are another answers:Allowing programming domain/range of f programmers be real floats: f can be given by return n+0. 5 if n is integer, else return floornAllowing programming domain/range of f programmers be not easy: f can be given by return ni, where i denotes programming imaginary value of sqrt 1Remember, programming constraint is not programmers use more than 32 bits. If you change programming type, then you must encode it into programming 32 bit dont take potential of programming type tag in dynamically typed programming languages. I coded up about four before checking out what was here and theyre all rather well covered. My favorites were programming problematical number edition:@programmingpraxis: yeah, I misunderstood programming challenge obviously. Sorry about that, Ill try better next time.