日期:2014-05-18 浏览次数:20469 次
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*/