早教吧 育儿知识 作业答案 考试题库 百科 知识分享

使用T-SQL语言统计100-1000之间的水仙花数个数并打印输出.水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身,例如:1^3+5^3+3^3=153.

题目详情
使用T-SQL语言统计100-1000之间的水仙花数个数并打印输出.
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身,例如:1^3 + 5^3 + 3^3 = 153.
▼优质解答
答案和解析
declare @num int
set @num=99

declare @n1 int--第一位数
declare @n2 int--第二位数
declare @n3 int--第三位数
declare @n int--N次方
declare @result int --次方相加的结果
set @n=3
while @num<=1000
begin
set @num=@num+1
set @n1=convert(int,substring(convert(varchar(10),@num),1,1))
set @n2=convert(int,substring(convert(varchar(10),@num),2,1))
set @n3=convert(int,substring(convert(varchar(10),@num),3,1))

set @result=power(@n1,@n)+power(@n2,@n)+power(@n3,@n)
if @result=@num
begin
print '结果'+convert(varchar(20),@result)+'['+convert(varchar(20),@num)+']'+'N:'+convert(varchar(20),@n)
end
end

现在我是把n设置成固定数值3做的,你再加一个循环就可以了
看了 使用T-SQL语言统计100...的网友还看了以下: