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.
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.