📜  PL/SQL 中两个数字的 GCD

📅  最后修改于: 2022-05-13 01:55:02.570000             🧑  作者: Mango

PL/SQL 中两个数字的 GCD

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

给定两个数字,任务是找到数字的 GCD(最大公约数)或 HCF(最大公约数)值。
例子:

Input:  num1 = 4, num2 = 6
Output: gcd of (num1, num2) = 2

Input: num1 = 8, num2 = 48
Output: gcd of (num1, num2) = 8

方法是取两个数字并使用欧几里得算法找到它们的 GCD 值。

以下是所需的实现:

DECLARE 
  
    -- declare variable num1, num2 and t 
    -- and these three variables datatype are integer  
    num1 INTEGER; 
    num2 INTEGER; 
    t    INTEGER; 
BEGIN 
    num1 := 8; 
  
    num2 := 48; 
  
    WHILE MOD(num2, num1) != 0 LOOP 
        t := MOD(num2, num1); 
  
        num2 := num1; 
  
        num1 := t; 
    END LOOP; 
  
    dbms_output.Put_line('GCD of ' 
                         ||num1 
                         ||' and ' 
                         ||num2 
                         ||' is ' 
                         ||num1); 
END; 
  
-- Program End 

输出 :

GCD of 8 and 48 is 8