T-SQL语句求两个数的最大公约数和最小公倍数。
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用T-SQL流程控制语句求两个数的最大公约数和最小公倍数。
1最大公约数
create function myc(@m int,@n int)
returns int
as
begin
if @m<=0 or @n<=0
return 0
else
if @m is null or @n is null
return null
else
declare @s int
if @m>=@n
begin
set @s=@n
while @s>=1
begin
if @m%@s=0 and @n%@s=0
break
set @s=@s-1
end
return @s
end
else
set @s=@m
while @s>=1
begin
if @m%@s=0 and @n%@s=0
break
set @s=@s-1
end
return @s
end
go
select dbo.myc(8,4)
2最小公倍数
create function myc1(@m int,@n int)
returns int
as
begin
if @m<=0 or @n<=0
return 0
else
if @m is null or @n is null
return null
else
declare @s int,@k int
set @k=1
if @m>=@n
begin
set @s=@m
while @k<=@n
begin
if @s%@n=0
break
set @k=@k+1
set @s=@s*@k
end
return @s
end
else
set @s=@n
while @k<=@m
begin
if @s%@m=0
break
set @k=@k+1
set @s=@s*@k
end
return @s
end
go
select dbo.myc1(8,4)