日期:2014-05-18  浏览次数:20469 次

求水仙花问题用sql自定义函数实现
谢谢!

------解决方案--------------------
照着写一个程序就行了.
------解决方案--------------------
SQL code
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

*/

------解决方案--------------------
这是水仙花吧?
SQL code
---      --                  ---      --   
-  --   -  -                 -  --   -  -  
-   --  -   -                -   --  -   - 
 -  -  --  -                  -  -  --  -  
  -   --  -                    -   --  -   
    -- --                        -- --     
      -                            -       
      -                            -       
       -                          -        
        -                        -         
          -                     -          
            -select * from tb -

------解决方案--------------------
SQL code
/*
一个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*/