Let L3 consist of strings that has exactly 3 times as many 0s has it has 1s.

2c: There is no DFA that recongizes L3.  We prove this using a proof by 
    contradiction.  Suppose that there were such a DFA M that has k states.  
    Consider the string x = 1^{k} 0^{3k} (i.e. k ones followed by 3k zeros).
    Since x is in L3 the DFA M must end in an accepting state.  Furthermore,
    since M has k states and k+1 states have been entered (some could be 
    repeated) when simulating it on the k ones, by the pigeon hole principle
    some state, say state i, has been visited at least twice when simulating
    M on the k ones.  Consider the string x' obtained by skipping the cycle
    from state i back to state i.  Notice that we remove some of the 1s from
    x without making any other changes.  Hence the number of 1s in x' is less
    than threee times the number of 0s in x'.  Hence x' is not in L3.
    However, M on input x' ends in the same state as x (which was an accepting
    state) and hence M incorrectly outputs that x' is in L3.  This contradicts
    that M correctly recongizes L3.