Give an example of a function from N to N that is
  1. one-to-one but not onto
    take the function that sends an integer n to its successor n+1. Since N is the set {0,1,2,...}, we have that 0 is not in the range of this function. The function is one-to-one, since we can easily check that if n+1=m+1 then n=m.
  2. onto but not one-to-one
    One easy example: send 0 to itself and every other integer should go to one less than itself.
    Another: Use the formula: [n/2] where [x] denotes the greatest integer or "floor" function.
  3. both onto and one-to-one but different than the identity function
    easy example: 0 goes to 1, 1 goes to 0, all other n go to themselves.
    another example: If the integer n is less than 100 it is sent to itself. If it is bigger than 100, just interchange the 10's and unit digits, i.e. for n> 99 it is sent to
    100*[n/100]+10*[n- 10*[n/10]] + [ ([n-100*[n/100]])/10]
  4. neither one-to-one or onto
    Why not f(n)=0 for all n?