📌  相关文章
📜  打印 PL/SQL 中 'm' 和 'n' 之间的所有质数

📅  最后修改于: 2021-09-09 10:27:07             🧑  作者: Mango

先决条件——PL/SQL 介绍

在 PL/SQL 代码中,命令组被安排在一个块中。块组相关的声明或语句。在声明部分,我们声明变量,在开始和结束部分之间,我们执行操作。

问题 :
用 PL/SQL 编写一个脚本来显示任意两个正整数之间的所有质数。

解释 :
这里,作为输入的任意两个数之间的所有素数都被返回作为上限和下限。素数是一个大于1的自然数,不能由两个较小的自然数相乘形成。

在这个实现中,出现在两个限制之间的数字的除数被计算为 2(1 和数字本身)。如果除数的数量是 2,则返回该数字。

例如,考虑数字 5。它只有两个除数:1 和数字 5 本身。
因此,它是一个质数。

例子 :

Input: 10  20
Output: 11 13 17 19

Input: 20  30
Output: 23 29  

下面是实现:

DECLARE
--the upper limit and the lower limit are taken as user inputs.
   low number(2);
   high number(2);
   n number(2);
   m number(2);
   c number(20);
BEGIN
   dbms_output.put_line('Enter the lower and higher limit:');
   low:=&low;
   high:=&high;
--The main operation happens in this loop
  for n IN low.. high 
    loop
       c:=0;
       for m IN 1.. n
         loop  
           if mod(n, m)=0 then
             c:=c+1;
            end if;
            end loop;
--the number of divisors for each number in the range is counted and then checked.
            if c<=2 then 
               dbms_output.put_line(n||'\n');
            end if;
         end loop;
           
END;

输出 :

Input: 
Enter the lower and higher limit:1  10
Output: 2
        3
        5
        7