请教高高手:使用T-SQL流程控制语句编写程序,求两个数的最大公约数和最小公倍数,运行环境是SQL2005.
最近在学web数据库技术,但是在百度知道搜索道很少关于T-SQL流程控制语句的问题,请高手给些解答意见,谢谢了,,,...
最近在学web数据库技术,但是在百度知道搜索道很少关于T-SQL流程控制语句的问题,请高手给些解答意见,谢谢了,,,
展开
1个回答
展开全部
--求最大公约数
DECLARE @num1 INT
DECLARE @num2 INT
DECLARE @result INT --保存结果
DECLARE @jsq INT -- 计数器
DECLARE @min INT --保存最小值
SET @num1=9
SET @num2=9
--判断最小值
IF @num1>=@num2
SET @min=@num2
ELSE
SET @min=@num1
SET @jsq=@min
--循环语句
WHILE (@jsq<=@min)
BEGIN
--若同时被两个数整除,输出最大公约数
IF(@num1%@jsq=0 AND @num2%@jsq=0 )
BEGIN
SET @result=@jsq
PRINT @result
BREAK --退出循环
END
SET @jsq=@jsq-1
END
--求最小公倍数
DECLARE @num1 INT
DECLARE @num2 INT
DECLARE @result INT --保存结果
DECLARE @jsq INT -- 计数器
DECLARE @max INT --保存最大值
SET @num1=4
SET @num2=4
--判断最大值
IF @num1<=@num2
SET @max=@num2
ELSE
SET @max=@num1
--设置计数器的值
SET @jsq=@max
--循环语句
WHILE (@jsq>=@max)
BEGIN
--若同时整除两个数,输出最小公倍数
IF(@jsq%@num1=0 AND @jsq%@num2=0 )
BEGIN
SET @result=@jsq
PRINT @result
BREAK --退出循环
END
SET @jsq=@jsq+1
END
DECLARE @num1 INT
DECLARE @num2 INT
DECLARE @result INT --保存结果
DECLARE @jsq INT -- 计数器
DECLARE @min INT --保存最小值
SET @num1=9
SET @num2=9
--判断最小值
IF @num1>=@num2
SET @min=@num2
ELSE
SET @min=@num1
SET @jsq=@min
--循环语句
WHILE (@jsq<=@min)
BEGIN
--若同时被两个数整除,输出最大公约数
IF(@num1%@jsq=0 AND @num2%@jsq=0 )
BEGIN
SET @result=@jsq
PRINT @result
BREAK --退出循环
END
SET @jsq=@jsq-1
END
--求最小公倍数
DECLARE @num1 INT
DECLARE @num2 INT
DECLARE @result INT --保存结果
DECLARE @jsq INT -- 计数器
DECLARE @max INT --保存最大值
SET @num1=4
SET @num2=4
--判断最大值
IF @num1<=@num2
SET @max=@num2
ELSE
SET @max=@num1
--设置计数器的值
SET @jsq=@max
--循环语句
WHILE (@jsq>=@max)
BEGIN
--若同时整除两个数,输出最小公倍数
IF(@jsq%@num1=0 AND @jsq%@num2=0 )
BEGIN
SET @result=@jsq
PRINT @result
BREAK --退出循环
END
SET @jsq=@jsq+1
END
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询