日期:2014-05-18 浏览次数:20579 次
declare @i int
set @i=100
while(@i<=999)
begin
if(@i=power((@i%10),3)+power((@i/10%10),3)+power((@i/100),3))
print @i
set @i=@i+1
end
/*
153
370
371
407
*/
------解决方案--------------------
这是水仙花吧?
--- -- --- --
- -- - - - -- - -
- -- - - - -- - -
- - -- - - - -- -
- -- - - -- -
-- -- -- --
- -
- -
- -
- -
- -
-select * from tb -
------解决方案--------------------
/*
一个n位的数等于它的各位数的n次方之和
如153等于1的3次方加上5的3次方加上3的3次方等等
要求求所有2,3,4位的水仙花数
*/
declare @n int,@n1 int,@s int
set @n=10
while @n<9999
begin
set @n1=@n
set @s=0
while @n1>0
begin
set @s=@s+power((@n1%10),(len(ltrim(@n))))
set @n1=@n1/10
end
if @s=@n
print @n
set @n=@n+1
end
/*
153
370
371
407
1634
8208
9474*/