Преподаватель обманул вас с термином "базовый случай", нет такого общеупотребительного термина (в рекурсии).
Условных операторов может быть сколько угодно (обычно, не меньше одного).
Правильность решения != оптимальность решения. Поэтому любой код можно считать "верным", если он даёт правильное решение поставленной задачи с учётом технического задания.