cделать с помощью цикла repeat until Логической переменной t присвоить значение true или false в зависимости от того, является натуральное число k степенью 3 или нет.
Var chislo:integer; proverka:boolean; begin proverka:=true; read(chislo); repeat if chislo=0 then //так как 0 не натуральное число begin proverka:=false; break; end; if (chislo mod 3)>0 then begin proverka:=false; break; end else chislo:=chislo div 3; until(chislo=0); if proverka then WriteLn('Да') else WriteLn('Нет'); readln; end.