Вот тебе для двоичной системы, дальше сам додумай,я просто в переводах в системы счисления не силён,только двоичную толком знаю))Program sist;var a,b,f:integer;c,p,i:string;beginreadln(a); //вводим числоb:=2; //это у нас будет степень, сам потом переделаешь,чтоб вводить её тожеwhile a>0 do //тут задаём условие (пока a>0 выполняем действия:)begin //начало скобки(должен знать)if a mod b=0 then c:='0' else c:='1'; //проверяем условие(если остаток от деления а поделить на 2 равен 0 то строка равна символу 1 иначе символ 0)a:=a div b; //делим а на b без остаткаi:=i+c; //присваиваем строке i результат: строка i+результат строки cend; //конец скобкиfor f:=length(i) downto 1 do //начинаем цикл от большего к меньшему(от количества символов в строке i до 1)p:=p+i[f]; //(к строке p прибавляем символ строки i) это относится к нашему циклуi:=p; //тут понятно думаюwriteln(p, '(',b,')'); //выводим результатend.