Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Число Армстронга

Автор: -=BR@BUS=- 8.12.2006 1:26

Надо найти все числа армстронга (пример: 153=1^3+5^3+3^3) в диапазоне N1 N2


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.



программу нужно оптимизировать (решать через циклы), помогите кто знает...

Автор: klem4 8.12.2006 1:34

http://forum.pascal.net.ru/index.php?showtopic=3916&hl=%C0%F0%EC%F1%F2%F0%EE%ED%E3%E0