PRAIT, я не про вопрос. А про занятие программированием вообще. Зачем себя мучить? После двух (трёх?) лет изучения языка не можете написать простейший условный оператор. Лучше бы вам бросить это дело.
Daniil, это не олимпиадная задача, а из тех, что дают на собеседованиях, чтобы понять, кто пришёл - программист или нет. Если решена - есть смысл пообщаться, нет - "мы вам перезвоним".
Олег Трубин, выше, в ответе, есть ссылка. Я её не просто так разместил - вы всё-таки по ней перейдите и прочтите, что там написано. Если сделаете это, вопрос про "другой путь" должен проясниться.
absoluteST, "работает неверно" - предлагаете угадать, что это значит? Нет, так не будет. Рассказывайте, чем это "неверно" отличается от желаемого результата.
Мало, надо не меньше семнадцати.
Пожалуйста.