【发布时间】:2017-04-04 04:39:01
【问题描述】:
使用 SQL 服务器,编写一个 while 循环来计算并打印 f(x) = 3x&3 -2X^2 + 15 对于所有奇数非负整数
这是我目前写的内容
这就是我得到的结果
所以理论上我应该得到 45,640 @x = 25
我这里出了什么问题?
【问题讨论】:
标签: sql sql-server tsql while-loop
使用 SQL 服务器,编写一个 while 循环来计算并打印 f(x) = 3x&3 -2X^2 + 15 对于所有奇数非负整数
这是我目前写的内容
这就是我得到的结果
所以理论上我应该得到 45,640 @x = 25
我这里出了什么问题?
【问题讨论】:
标签: sql sql-server tsql while-loop
您可以使用递归 cte(而不是使用 while 循环)来生成所有
with oddnums_cte as (select 1 num
union all
select num+2 from oddnums_cte where num < 25)
select num, (3*power(num,3))-(2*power(num,2))+15 as function_value
from oddnums_cte
【讨论】:
您必须使用power 函数,如下所示
Declare @SUMSQUARE Integer, @x Integer
SET @X = 1
WHILE (@X <= 25)
BEGIN
SELECT @SUMSQUARE = (3*power(@X,3))-(2*power(@X,2))+15
PRINT @SUMSQUARE
SET @X = @X + 2
END
【讨论】: