Oracle函数:求两个数的最大公约数

 1 CREATE OR REPLACE FUNCTION GETGYS(NUM1 NUMBER, NUM2 NUMBER) RETURN NUMBER IS
 2   RESULTNUM NUMBER;
 3   NUM3      NUMBER;
 4   MINNUM    NUMBER;
 5 BEGIN
 6   IF NUM1 >= NUM2 THEN
 7     MINNUM := NUM2;
 8   ELSE
 9     MINNUM := NUM1;
10   END IF;
11   NUM3 := MINNUM;
12   LOOP
13     IF (MOD(NUM1, NUM3) = 0 AND MOD(NUM2, NUM3) = 0) THEN
14       RESULTNUM := NUM3;
15       EXIT;
16      END IF;
17     NUM3 := NUM3 - 1;
18   END LOOP;
19   RETURN(RESULTNUM);
20 END GETGYS;

2015-02-26 15:23:56

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。