Skip to main content
deleted 24 characters in body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19

C, 4341 points (41 or 45 chars)

Works using both 32- and 64-bit.

f : Z -> Z (except INT_MAX):

 f(n){return (abs(n)%2*2-1)*n+n?(-n<n)*2-1:0;} 

If we don't have to include 0 we can shave off some chars (41 chars):

f : Z -> Z (not qualified for bonus because of 0)

Works on both 32 and 64 bit and includes all integers except 2except (0 & INT_MAX):

C, 43 points (41 chars)

 f(n){return (abs(n)%2*2-1)*n+n?(-n<n)*2-1:0;} 

f : Z -> Z (not qualified for bonus because of 0)

Works on both 32 and 64 bit and includes all integers except 2 (0 & INT_MAX):

C, 41 points (41 or 45 chars)

Works using both 32- and 64-bit.

f : Z -> Z (except INT_MAX):

f(n){return (abs(n)%2*2-1)*n+n?(-n<n)*2-1:0;} 

If we don't have to include 0 we can shave off some chars (41 chars):

f : Z -> Z (except 0 & INT_MAX):

deleted 24 characters in body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19

C, 43 points (4341 chars)

 f(n){return (abs(n)%2*2-1)*n+n?(-n<n)*2-1:0;} 
f(n){return ((abs(n)%2)*2%2*2-1)*n+(-n<n)*2-1;} 
f(n) = odd(n) * n + sign(n) (edge cases: f(f(0)) -> -2, f(f(INT_MAX)) -> -8) f(n) = even(n) * n - sign(n) (edge cases: f(f(10)) -> -32, f(f(INT_MININT_MIN+1))  -> -56) f(n) = odd(n) * n - sign(n) (edge cases: f(f(01)) -> -23, f(f(INT_MIN+1INT_MIN))  -> -65) f(n) = even(n) * n + sign(n) (edge cases: f(f(-1)) -> -1, f(f(INT_MIN)) -> -5) 

C, 43 points (43 chars)

f(n){return ((abs(n)%2)*2-1)*n+(-n<n)*2-1;} 
f(n) = odd(n) * n + sign(n) (edge cases: f(f(0)) -> -2, f(f(INT_MAX)) -> -8) f(n) = even(n) * n - sign(n) (edge cases: f(f(1)) -> -3, f(f(INT_MIN))  -> -5) f(n) = odd(n) * n - sign(n) (edge cases: f(f(0)) -> -2, f(f(INT_MIN+1)) -> -6) f(n) = even(n) * n + sign(n) (edge cases: f(f(-1)) -> -1, f(f(INT_MIN)) -> -5) 

C, 43 points (41 chars)

 f(n){return (abs(n)%2*2-1)*n+n?(-n<n)*2-1:0;} 
f(n){return (abs(n)%2*2-1)*n+(-n<n)*2-1;} 
f(n) = odd(n) * n + sign(n) (edge cases: f(f(0)) -> -2, f(f(INT_MAX)) -> -8) f(n) = even(n) * n - sign(n) (edge cases: f(f(0)) -> -2, f(f(INT_MIN+1)) -> -6) f(n) = odd(n) * n - sign(n) (edge cases: f(f(1)) -> -3, f(f(INT_MIN))  -> -5) f(n) = even(n) * n + sign(n) (edge cases: f(f(-1)) -> -1, f(f(INT_MIN)) -> -5) 
deleted 24 characters in body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19

Works on both 32 and 64 bit and includes all integers except 42 (0, INT_MAX, INT_MIN & INT_MIN+1INT_MAX):

Works on both 32 and 64 bit and includes all integers except 4 (0, INT_MAX, INT_MIN & INT_MIN+1):

Works on both 32 and 64 bit and includes all integers except 2 (0 & INT_MAX):

added 39 characters in body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19
Loading
added 39 characters in body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19
Loading
added 39 characters in body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19
Loading
edited body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19
Loading
deleted 4 characters in body
Source Link
Tyilo
  • 1.4k
  • 10
  • 19
Loading
Source Link
Tyilo
  • 1.4k
  • 10
  • 19
Loading