Ну можно сразу автомат построить, но он сложно описывается.
Пусть множество состяний автомата, распознающего исходный язык

, есть

, функция перехода -

, начальное состояние

, мн-во принимающих -

Рассмотрим функцию

:

Рассмотрим автомат с множеством состояний

, функцией перехода

, начальным состоянием

, где

, множеством принимающих состояний

Неформально: вместе с состоянием исходного автомата храним функцию, которая говорит, до каких состояний можно добраться из данного за количество шагов, равное уже сделанному.
Дальше сами, я и так уже слишком много написал.