- 博客(95)
- 资源 (14)
- 收藏
- 关注
原创 施罗德数列SQL实现
在组合数学中,施罗德数用来描述从(0,0)到(n,n)的格路中,只能使用(1,0)、(0,1)、(1,1)三种移动方式,始终位于对角线下方且不越过对角线的路径数。
2024-07-09 18:56:35
298
1
原创 计算两个日期间隔(SQL)
/*如果开始日期大于结束日期,返回null如果天不够向上一月借如果月不够向上一年借*/CREATE FUNCTION Jiange(@S DATE,@E DATE)RETURNS VARCHAR(50)ASBEGIN DECLARE @rst VARCHAR(50)='' DECLARE @Y1 INT,@Y2 INT,@M1 INT,@M2 INT,@D1 INT,@D2 INT,@Y INT,@M INT,@D INT SELECT @Y1=YEAR(@S),@Y2=YEA.
2022-03-06 17:24:01
2471
原创 李白打酒(SQL实现)
李白好饮酒,无事街上走;提壶去打酒,原有酒两斗;遇店加一倍,遇花喝一斗。问:李白在遇到五家店和十朵花以后,他壶中的酒恰好喝完,那么他遇到花和店的顺序是怎样的?DECLARE @count INT=0 DECLARE @I INT=16384DECLARE @sum INTDECLARE @flower INT DECLARE @store INT DECLARE @K1 INT DECLARE @K2 INTDECLARE @J INT DECLARE @T INTDE
2021-12-27 14:37:41
476
1
原创 分糖果(模拟)
有N个小朋友围坐成一圈,老师给每个小朋友随机发偶数个糖果,然后进行下面的游戏:每个小朋友都把自己的糖果分一半给左手边的孩子一轮分糖后,拥有奇数颗糖的孩子由老师补给1个糖果,从而变成偶数反复进行这个游戏,直到所有小朋友的糖果数都相同为止问,在已知的初始糖果情形下,老师一共需要补发多少个糖果DECLARE @I INTDECLARE @N INTDECLARE @M INT SELECT number,CRYPT_GEN_RANDOM(2)%50*2 AS V INTO #tmpFRO
2021-12-10 14:35:21
2443
原创 第几个幸运数
到x星球旅行的游客都被发给一个整数,作为游客编号。x星的国王有个怪癖,他只喜欢数字3,5和7。国王规定,游客的编号如果只含有因子:3,5,7,就可以获得一份奖品。我们来看前10个幸运数字是:3 5 7 9 15 21 25 27 35 45因而第11个幸运数字是:49小明领到了一个幸运数字 59084709587505,他去领奖的时候,人家要求他准确地说出这是第几个幸运数字,否则领不到奖品。请你帮小明计算一下,59084709587505是第几个幸运数字。CREATE TABL.
2021-12-06 10:18:26
116
原创 九数算式-SQL Server
观察如下的算式:9213 x 85674 = 789314562左边的乘数和被乘数正好用到了1~9的所有数字,每个1次。而乘积恰好也是用到了1~9的所有数字,并且每个1次。请你借助计算机的强大计算能力,找出满足如上要求的9数算式WITH ctAS( SELECT number,CONVERT(VARCHAR(10),number) AS A,1 AS lv FROM master..spt_values WHERE type='P' AND number BETWEEN 1 AND 9
2021-12-05 14:16:17
569
1
原创 SQL Server计算汉字笔画部首
/*有一个成语表,请计算1)每个字笔画数都相同的成语2)每个字都含有偏旁三点水或火字旁的成语*/--创建汉字词典CREATE TABLE myHanzi ( id INT NOT NULL, zi Nvarchar(255), py varchar(255), wubi varchar(255), bushou Nvarchar(255), bihua INT, pinyin varchar(255), PRIMARY KEY (id));GOSELECT * FRO.
2021-11-19 09:57:33
239
原创 分配考场SQL实现
/*1.每个考生前后左右尽量不同班,若不满足可以降低要求*/ --考场数据设置CREATE TABLE #tmp( kc VARCHAR(10), z INT, h INT )--待分配学生数据CREATE TABLE #rst( id INT IDENTITY(1,1), bj VARCHAR(10), xm VARCHAR(10), xh VARCHAR(10), kc VARCHAR(10), zw VARCHAR(10), z INT, h INT,.
2021-10-11 11:26:42
444
原创 学生分班SQL实现
/*某中学有2个重点班18个普通班要求:1.重点班人数占总人数的20%2.平均分越接近越好,性别比越接近越好3.尽量不要出现班级同名的情况*/--用到的表CREATE TABLE [dbo].[NBAC_dbo_Scores]( [student] [varchar](50) NULL, [subject] [varchar](50) NULL, [score] [numeric](18, 1) NULL) ON [PRIMARY]goCREATE TABLE [dbo].
2021-09-26 09:39:48
877
原创 四分位数SQL实现
/*四分位数(Quartile),即统计学中,把所有数值由小到大排列并分成四等份,处于三个分割点位置的得分就是四分位数第一四分位数 (Q1),又称'较小四分位数',等于该样本中所有数值由小到大排列后第25%的数字第二四分位数 (Q2),又称'中位数',等于该样本中所有数值由小到大排列后第50%的数字第三四分位数 (Q3),又称'较大四分位数',等于该样本中所有数值由小到大排列后第75%的数字第三四分位数与第一四分位数的差距又称四分位距(InterQuartile Range,IQR)1:将数.
2021-02-22 08:43:18
11440
2
原创 SQL打印矩阵(转圈)
--1.定义变量DECLARE @I INT=0DECLARE @J INT=1DECLARE @Z INT=0DECLARE @N INT= 10DECLARE @Flag INT = @NDECLARE @Number INTDECLARE @Where NVARCHAR(4000)DECLARE @Sql NVARCHAR(4000)--2.产生N*N的数据SELECT number,0 AS I,0 AS J,0 AS Z INTO #Tmp FROM master..sp.
2020-12-23 15:31:03
148
原创 DBSCAN聚类算法-SQL实现
CREATE TABLE #T( p VARCHAR(10), x DECIMAL(18,6), y DECIMAL(18,6), j VARCHAR(10), c BIT DEFAULT 0 )INSERT INTO #t(p,x,y) VALUES('p1',1,2)INSERT INTO #t(p,x,y) VALUES('p2',2,1)INSERT INTO #t(p,x,y) VALUES('p3',2,4)INSERT INTO #t(p,x,y) VALUES...
2020-12-03 13:59:33
1071
原创 SQL计算1000的阶乘
DECLARE @i INTDECLARE @j INT DECLARE @m INT DECLARE @n INT DECLARE @l INTDECLARE @c CHAR(1)DECLARE @S VARCHAR(4000) DECLARE @T VARCHAR(4000) SET @i=1SET @n=1000SET @S='1'WHILE @n>=1BEGIN SET @l=LEN(@S) SET @m=0 SET @T='' WHILE @l>=.
2020-11-19 08:07:32
1155
原创 SQL5X5方格棋盘难题
/*在5X5的方格棋盘中,每行,列,斜线(斜线不仅仅包括对角线)最多可以放两个球,如何摆放才能放置最多的球,这样的摆法总共有几种?输出所有的摆法.要求:用一句SQL实现输出格式:从方格棋盘第一行至第5行,每行从第一列到第5列依次输出,0表示不放球,1表示放球.一行输出一个行号和一个解例如:行号,结果1 00011010011100000110101002 00011010101000110100011003 0001101100100010011011000*/...
2020-11-19 08:06:39
826
原创 C 练习实例37 之mysql实现
题目:对10个数进行排序。程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。drop PROCEDURE if EXISTS test ;create PROCEDURE test(a varchar(1000))BEGIN DECLARE i,j,len,m,n int ; d...
2019-08-02 16:54:26
143
原创 C 练习实例35 之mysql实现
题目:字符串反转,如将字符串 "www.runoob.com" 反转为 "moc.boonur.www"。drop PROCEDURE if exists test; create PROCEDURE test ( a varchar(100) ) begin declare rst varchar(100); declare i ,len int; ...
2019-08-01 14:56:46
197
原创 C 练习实例25 之mysql实现
题目:求1+2!+3!+...+20!的和。drop PROCEDURE if exists test; create PROCEDURE test ( ) begin declare i int; declare sum,mix long; set sum=0,mix=1,i=1; while i<=20 do ...
2019-08-01 14:33:33
154
原创 C 练习实例24 之mysql实现
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。程序分析:请抓住分子与分母的变化规律。drop PROCEDURE if exists test; create PROCEDURE test ( ) begin declare i,t,a,b int; declare sum DOU...
2019-08-01 14:28:20
127
原创 C 练习实例21 之mysql实现
题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。程序分析:采取逆向思维的方法,从后往前推断。1) 设x1为前一天桃子数,设x2为第二天桃子数, 则:x2=x1/2-1, x1=(x2+1)*2x...
2019-08-01 14:21:58
191
原创 C 练习实例20 之mysql实现
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?drop PROCEDURE if exists test; create PROCEDURE test ( ) begin declare h,s DOUBLE; declare i int DEFAULT 2; se...
2019-08-01 14:14:49
110
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人