使用SQL服务器,写一个while循环来计算和打印f(x)= 3x& 3 -2X ^ 2 + 15的函数值,用于所有奇数非负整数< = 25.(1,3,5 ,...... 23,25)。
这是我到目前为止所写的内容
这是我得到的结果
所以理论上我应该在@x = 25
我在这里出错了什么?
答案 0 :(得分:1)
您可以使用递归cte(而不是使用while
循环)生成所有奇数< = 25,然后对这些数字应用函数。
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
答案 1 :(得分:1)
您必须使用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