#SQL中进行最大公约数和最小公倍数的sql

create function GetGys(@num1 int,@num2 int)
returns int --返回值
as
begin
declare @times int  --计数器
declare @min int    --存储两个数的较小者
declare @result int  --保存结果
if(@num1>=@num2)
set @min=@num2
else
set @min=@num1
set @times=@min
while(@times<=@min) --循环
begin
if(@num1%@times=0 and @num2%@times=0)
begin
set @result=@times
break
end
set @times=@times-1
end
return @result
end

/*求两个数的最小公倍数*/
create function GetGbs(@num1 int,@num2 int)
returns int
as
begin
declare @result int  --结果
declare @max int  --保存两个数的大者
declare @times int
if @num1<=@num2
set @max=@num2
else
set @max=@num1
set @times=@max
while(@times>=@max)
begin
if(@times%@num1=0 and @times%@num2=0)
begin
set @result=@times
break
end
set @times=@times+1
end
return @result
end 

没有更多推荐了,返回首页