Greatest common divisor: Difference between revisions
Content added Content deleted
Line 4,098: | Line 4,098: | ||
22 55 11 |
22 55 11 |
||
</pre> |
</pre> |
||
Demonstration of SQL Server 2008 |
|||
<lang SQL>CREATE FUNCTION gcd ( |
|||
@ui INT, |
|||
@vi INT |
|||
) RETURNS INT |
|||
AS |
|||
BEGIN |
|||
DECLARE @t INT |
|||
DECLARE @u INT |
|||
DECLARE @v INT |
|||
SET @u = @ui |
|||
SET @v = @vi |
|||
WHILE @v > 0 |
|||
BEGIN |
|||
SET @t = @u; |
|||
SET @u = @v; |
|||
SET @v = @t % @v; |
|||
END; |
|||
RETURN abs( @u ); |
|||
END |
|||
GO |
|||
CREATE TABLE tbl ( |
|||
u INT, |
|||
v INT |
|||
); |
|||
INSERT INTO tbl ( u, v ) VALUES ( 20, 50 ); |
|||
INSERT INTO tbl ( u, v ) VALUES ( 21, 50 ); |
|||
INSERT INTO tbl ( u, v ) VALUES ( 21, 51 ); |
|||
INSERT INTO tbl ( u, v ) VALUES ( 22, 50 ); |
|||
INSERT INTO tbl ( u, v ) VALUES ( 22, 55 ); |
|||
SELECT u, v, dbo.gcd ( u, v ) |
|||
FROM tbl; |
|||
DROP TABLE tbl; |
|||
DROP FUNCTION gcd; |
|||
</lang> |
|||
=={{header|Stata}}== |
=={{header|Stata}}== |