Число Армстронга – такое число из k цифр, для которого сумма k-х степеней его цифр равна самому числу, например: 153=13+53+33. Найти все числа Армстронга не более чем из четырех цифр.
Что у меня неправильно?
Const
MIN_DIGITS = 1;
MAX_DIGITS = 4;
Var
power: array [0..9] of integer;
pow10: integer;
num: integer;
mn: integer;
mx: integer;
v1: integer;
v2: integer;
i: integer;
j: integer;
k: integer;
Begin
for k:=MIN_DIGITS to MAX_DIGITS do
begin
for i:=0 to 9 do
begin
power[i]:= pow(i,k);
end;
mn := pow(10,k-1);
mx := mn*10;
for v1:=mn to mx-1 do
begin
v2 := 0;
pow10 := pow(10,k);
num := v1;
while pow10 <> 1 do
begin
pow10 := pow10 div (10);
j := num / pow10;
num := num - (j*pow10);
v2 := v2 + (power[j]);
if v2 > v1 then break;
end;
if v2=v1 then writeln(v1);
end;
end;
End.
заранее спасибо
Сообщение отредактировано: Наташка -