问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

最小公约数计算

发布网友 发布时间:2022-05-06 18:46

我来回答

2个回答

懂视网 时间:2022-05-06 23:07

[摘要]一个朋友在展BOM的时候有这样的需求,两列字段(数值):A ,B A=用量,B=底数,组成用量=用量/底数。A/B,若能被整除,显示整除的结果,若不能整除显示分数形式A/B(分数形式要是约分后的格式)3/6=1/3。 我的思路: 1.SQL取余判断是否能被整除 2.撰

[摘要]一个朋友在展BOM的时候有这样的需求,两列字段(数值):A ,B A=用量,B=底数,组成用量=用量/底数。A/B,若能被整除,显示整除的结果,若不能整除显示分数形式A/B(分数形式要是约分后的格式)3/6=1/3。

我的思路:

1.SQL取余判断是否能被整除

2.撰写两个整形数值的最大公约数,然后分子与分母分别除以最大公约数。

其中进行转换化成字符串格式。

一、自定义最大公约数函数:

Create FUNCTION [dbo].[GetMaxgongyue]
(
	@num1 int ,
	@num2 int 
)
RETURNS int
as 
begin
DECLARE @times INT 
DECLARE @min INT 
DECLARE @result BIGINT 

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
二、测试
drop table tt
Create table tt(t1 int,t2 int)
insert into tt(t1 ,t2 )values(1,3)
insert into tt(t1 ,t2 )values(2,4)
insert into tt(t1 ,t2 )values(3,9)
insert into tt(t1 ,t2 )values(6,3)
insert into tt(t1 ,t2 )values(4,2)
insert into tt(t1 ,t2 )values(2,331)
select t1,t2,t1%t2 取余,
case when t1%t2<>0 and dbo.GetMaxgongyue(t1,t2)=1 then CAST(t1 as NCHAR(4))+'/'+ CAST(t2 as NCHAR(4)) 
 when t1%t2<>0 and dbo.GetMaxgongyue(t1,t2)<>1 then CAST(t1/dbo.GetMaxgongyue(t1,t2) as NCHAR(4))+'/'+ CAST(t2/dbo.GetMaxgongyue(t1,t2) as NCHAR(4)) 
else cast(cast(t1/t2 as decimal(9,5)) as NCHAR(20)) end result
from tt

热心网友 时间:2022-05-06 20:15

两个数的最小公约数不用计算,是1 。

两个数的最小公倍数计算:

1、两个数互质,它们的最小公倍数是两数的积;如5和7的最小公倍数是5×7=35

2、较大的数是较小的数的倍数,它们的最小公倍数是较大的数;如72和12的最小公倍数是72

3,一般用短除求。也就是用两数的公因数去除两数,除到余数为互质数,两数的最小公倍数

是所有除数和余数相乘的积。如图

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国家对腾讯已经作出解除音乐版权处罚,为什么网易云还是很 市场监管总局依法对腾讯控股有限公司作出责令解除网络音乐 腾讯放弃音乐独家版权,绝大部分独家协议已按期解约 高级BEC和中级口译哪个难? 三级口译是什么样的水平 高级日语口译大概是什么水平 高级口译常用谚语 品牌型号怎么填写 送刀剑是什么风水 送礼送菜刀是什么意思 梦见俩只鹅在母亲坟旁叫? 梦见别人送两只鹅是什么意思? 如何拷贝花鸟画白描 财务表表和特殊目的审计业务的区别是什么? 周大福会员怎么微信登录? 用登录微信要怎么登录? Windows10最小化后不见了怎么办 哪有Windows10系统?除了系统之家,要 1.体积小一点的。 2.*软件少一点的。 3 win8 win10哪个系统占用内存小 怎么安装win10才能占用最小空间 win10只能默认安装吗?有没有最小安装 松下KX-803CN激光一体机在收传真的时候老是卡纸 打印机卡纸了取不出怎么办 运行Windows 10最低配置?所需的最小硬盘空间是多少? 小鸡蛋糕要煮几分钟才能熟,小鸡蛋糕要几分钟才能熟,鸡蛋糕要几分钟才能熟? 鸡蛋糕几分钟能熟 鸡蛋羹这样才叫熟了 鸡蛋羹怎么样才熟了? 鸡蛋羹怎样算熟了 如何辨别鸡蛋糕的生熟 PS制作完了如何预览动态的? 问道新剧情 鲲鹏变 为什么没法接呢 为什么PS做图,做了效果之后没法立即预览 ps表格做好后 预览表格不在中间 如何在ps中实现多窗口预览 电脑怎么代替kb280屏幕? 电子琴声卡和普通声卡一样吗 我电脑更新了最新版QQ后,QQ界面的字体都变得特别小,怎么办呀? 车载导航操作系统安卓好还是wince 车载导航,CE系统和安卓系统哪个更好 文言文学弈怎么分段要分段 学弈文言文及停顿翻译 为什么淘宝店主要关闭原来的几年老店再开新店? 学奕怎么分段 淘宝网怎么看是老店呢 文言文学弈怎么分段 真三国无双7猛将传 美味追求战有什么用 PC真三国无双7美味追求战这个地图怎么出来啊? 学弈简单的翻译 justsyahai是什么意思?