Mostly they just don't know how to start. They can't break down the problem into subproblems. Once a candidate managed to break down the problem to subproblems, they can always do the rest easily (solving the subproblems, composing the solutions to solve the main problem).
Ok in that case then they're a no hire as that's just a fundamental part of developing software. Although I must admit
that this problem surprises me more than people's inability to code. I mean if you can't break down problems you're just ill suited to the field.
For me the hardest part would be remembering a print function that does not automatically insert a newline. Although I suppose as a workaround assembling the string before printing would work, just less elegant.
If you cannot programme, you would not be able to do this problem. There are people who cannot programme applying for programming jobs. Shocking, but true.
Ok fair enough, but I'm still curious where the sticking point is. Can they at least code the loop? I'm wondering if it's just that peoples' math skills are typical pretty rusty
and if using another set of conditions would give you better results.
Edit: For example, iterate through this string every time you hit an 's' print fizz etc...