I read this puzzle in an Italian newspaper some days ago. It reported it was asked at one of the latest Mathematical Olympiads. It's not difficult, but it requires some logical thinking. I'm posting it here as I'd like to know if you reach the same conclusion as me.
In a village live two kinds of people: those who always lie and those who always tell the truth. Everybody knows each other in the village and therefore knows whether a particular villager is a liar or a truth-teller.
Strolling around the village we meet a group of four villagers. We ask to each one of them: "How many liars are in this group?" and we get these answers: "0", "1", "2", "3".
How many liars are in that group?
EDIT: There is probably an error in the riddle as published in the newspaper. If the answer we get from the group of villagers is instead "1", "2", "3", "4" then there is an unique solution (as reported in the accepted answer below).