如何在 MS SQL Server 中打印质数?
在本文中,我们将使用 MS SQL 打印素数。这里我们将使用 2 while loops 语句来打印素数。
步骤 1: 首先我们将声明一个初始值为 2 的变量 I。
查询:
DECLARE @I INT=2
第二步:然后我们将声明一个初始值为 0 的变量 PRIME(这将设置 PRIME 的值)。
查询:
DECLARE @PRIME INT=0
步骤 3: 表格定义
我们将创建一个保存质数的临时表变量(使用 DECLARE 和 table 关键字)。
查询:
DECLARE @OUTPUT TABLE (NUM INT)
步骤 4: 现在我们将使用嵌套 while 循环,就像我们为质数编写程序一样。
查询:
DECLARE @I INT=2
DECLARE @PRIME INT=0
DECLARE @OUTPUT TABLE (NUM INT)
WHILE @I<=100
BEGIN
DECLARE @J INT = @I-1
SET @PRIME=1
WHILE @J>1
BEGIN
IF @I % @J=0
BEGIN
SET @PRIME=0
END
SET @J=@J-1
END
IF @PRIME =1
BEGIN
INSERT @OUTPUT VALUES (@I)
END
SET @I=@I+1
END
SELECT * FROM @OUTPUT
说明:
- 在第一个 while 循环中,我们将 I 的初始值声明为 100,这意味着这个循环将为我们提供 2 到 100 之间的素数。
- 现在,我们用初始值 I-1 来声明 J。如上面的代码所示。
- 然后,将插入第二个 while 循环,该循环将一直运行到 J 大于 1。
- 如果语句在那里,条件@I % @J = 0,这意味着当 I/J 的余数为 0 时,PRIME 将被设置为 0,J 的值递减 1。
- 如果在循环结束时 PRIME 设置为 1,那么这个数字将使用下面的代码插入到我们的输出表中。
查询:
INSERT @OUTPUT VALUES (@I)
- 然后另一个循环将为下一个数字开始。
第五步:假设我有一个初始值 4,即 I = 4。
- 现在在第二个循环中,J 的初始值为 1,也就是 3。
- 通过 4%3,我们将得到 1,因此 Prime 将像以前一样设置为 1,J 递减 1。
- 现在对于 4%2,我们将得到 0,现在根据我们的条件,PRIME 将被设置为 0。由于 4 的因子比 1 及其本身多,循环将再次开始,递增值为 1,即 5(I+1)。
输出:低于 I < =100 的输出,这意味着它将打印从 2 到 100 的质数。
版权属于:月萌API www.moonapi.com,转载请注明出处