Ответ:

Фразу «есть хотя бы ровно один витязь» понимаем как «среди двух соседей есть хотя бы один витязь». Тогда сказанное каждым жителем истинно ровно в том случае, если у него есть сосед-витязь. Значит, витязь не может иметь двух соседей-купцов: иначе ему пришлось бы произнести ложь. Поэтому между любыми двумя купцами в круге должен стоять как минимум один витязь.

Это условие не определяет единственное число витязей. Например, при чередовании витязей и купцов их 429; если все жители — витязи, их 858. Оба расположения удовлетворяют условию, и в обоих есть витязи.

Следовательно, число витязей по приведённым сведениям однозначно определить нельзя. Чтобы получить численный ответ, нужно дополнительное условие о том, что именно произнесли купцы или о составе круга.