,用T-SQL编写程序,找出整数16的所有因子,并求出所有因子之和,用print语句输出找到的因子及所求的和

急,求大神帮忙,一天之内啊得解决的
2024-12-29 19:57:50
推荐回答(1个)
回答1:

参考以下代码

DECLARE @TB TABLE (TSUM INT)
DECLARE @NEXT1 INT
DECLARE @NEXT2 INT
SET @NEXT1=1
SET @NEXT2=1
WHILE @NEXT1<=16
BEGIN
IF @NEXT1*@NEXT2=16
BEGIN
PRINT @NEXT1
PRINT @NEXT2
INSERT INTO @TB VALUES(@NEXT1)
INSERT INTO @TB VALUES(@NEXT2)
BREAK
END

ELSE
BEGIN
WHILE @NEXT2<=16
BEGIN
IF @NEXT1*@NEXT2=16
BEGIN
PRINT @NEXT1
PRINT @NEXT2
INSERT INTO @TB VALUES(@NEXT1)
INSERT INTO @TB VALUES(@NEXT2)
BREAK
END
SET @NEXT2=@NEXT2+1
END
SET @NEXT1=@NEXT1+1
SET @NEXT2=1
END
END
SELECT  DISTINCT TSUM AS 所有因子 FROM @TB WHERE  TSUM<>16

SELECT SUM( DISTINCT TSUM) AS 求和 FROM @TB  WHERE  TSUM<>16

所有因子        

----------- 

1

2

4

8


(4 row(s) affected)


求和          

----------- 

15


(1 row(s) affected)