题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位
drop PROCEDURE if exists test;
create PROCEDURE test ( )
begin
declare i,x,y,z int;
create TEMPORARY table rst(a int);
set i=100;
while i<1000 DO
set x=i%10;
set y=i div 10%10;
set z=i div 100%10;
if i=(x*x*x+y*y*y+z*z*z) then
insert into rst values(i);
end if;
set i=i+1;
end while;
select * from rst;
drop TEMPORARY table if exists rst;
end;