Program arms;
var s:real;
f,k,p,n,n1,n2:Longint;
begin
Writeln ('Введите диапазон');
readln (n1,n2);
for f:=n1 to n2 do begin
s:=0;
k:=f;
n:=0;
While k<>0 do begin
k:=k div 10;
n:=n+1
end;
k:=f;
While k<>0 do begin
p:=k mod 10;
k:=k div 10;
if p<>0 then
s:=round(s+Exp(n*Ln(p)))
end;
if s=f then writeln(f)
end;
Writeln ('Done');
readln;
end.
программу нужно оптимизировать (решать через циклы), помогите кто знает...