水仙花数是指:其值等于各位数字的 n 次幂之和的 n 位数,称为 n 位 n 次幂回归数,水仙花数即三位数且等于各位数字的三次幂之和,有4个:153 370 371 407
delphi 代码实现
function tform1.sxhs(int_i,int_len:Integer):Integer;
var
i:integer;
s:Integer;
begin
s:=0;
for i:=1 to int_len do
begin
s:=s+ StrToInt(copy(IntToStr(int_i),i,1) )*StrToInt(copy(IntToStr(int_i),i,1) )*StrToInt(copy(IntToStr(int_i),i,1) )
end;
if s=int_i then Result:=int_i
else Result:=0
end;
两参数是一个数值与数字的长度。 按长度返回该数是不是水仙花数