The difference between "few" and "a few" is indistinct and which one is used depends on what you want to express. The word "few" means "a very small amount" or "almost zero", something that is not enough. "A few" means also "a small amount" but that amount is not that small (some, not an overwhelming number), and it is enough.
I have few friends. (That means I have two or three friends maybe and also means that I should have more because two or three friends is not enough)
I have a few friends. (That means I have about five friends probably, not a very large number but enough for me)
The above example seems to be clear enough for everyone to understand the difference between "few" and "a few".
What about the example below?
I have few cigarettes. (That means I have five cigarettes, or any other number, it is not enough for me so I can not give you one; I keep them all for me)
I have a few cigarettes. (That means I have five cigarettes, it is enough for me so I can give you one)
In this case "few" and "a few" refer to the same amount but the difference is in meaning.
Note: Don’t make confusion between "a few" and "quite a few". "Quite a few" means a very large number. Strange, isn’t it?!