Số tự nhiên N có k chữ số được gọi là số AmStrong nếu N bằng tổng các lũy thừa bậc
k của các chữ số của nó:
Ví dụ: Số 153 có 3 chữ số và 153 = 1 3 + 5 3 + 3 3 nên nó là số AmStrong.
Hãy viết chương trình in ra các số Amstrong nhỏ hơn hoặc bằng n với n được nhập từ
bàn phím.
MN ƠI, HELP ME!!!
uses crt;
var x,k,i,t,lt,m,j,n:integer;
st:string;
a:array[1..255]of integer;
begin
clrscr;
write('nhap n='); readln(n);
writeln('Cac so Amstrong nho hon hoac bang ',n,' la: ');
for x:=1 to n do
begin
str(x,st);
k:=length(st);
for i:=1 to k do
val(st[i],a[i],m);
t:=0;
for i:=1 to k do
begin
lt:=1;
for j:=1 to k do
lt:=lt*a[i];
t:=t+lt;
end;
if t=x then write(x:4);
end;
readln;
end.
thank you