用存储过程和临时表来写,主要是想最后一个select出来结果,而且排成想要的三角形形状。 由于BIGINT数据的限制,最多可以显示67层。 结果 id ----------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- 1 1 2 1 1 3 1 2 1 4

用存储过程和临时表来写,主要是想最后一个select出来结果,而且排成想要的三角形形状。

由于BIGINT数据的限制,最多可以显示67层。

结果

id

----------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----

1 1

2 1 1

3 1 2 1

4 1 3 3 1

5 1 4 6 4 1

6 1 5 10 10 5 1

7 1 6 15 20 15 6 1

8 1 7 21 35 35 21 7 1

CREATE proc #pr_YangHui

@c int

as

/* SQL实现显示杨辉三角 */

/* 版本: 1.0 */

/* 作者: Haiwer */

/* 版权所有 */

/* 2006.05.10 */

set nocount on

if @c<2 return --两层以下就不排了

declare @i int

declare @j int

declare @sql varchar(8000)

declare @sql1 varchar(8000)

declare @sql2 varchar(8000)

create table #(id int IDENTITY(1,1),a50000 bigint)

insert #(a50000) values (1) --第一层

set @i=2

while @i<=@c

begin

--为了实现动态层,只好动态修改临时表结构

set @sql='alter table # add a'+cast(50000+@i-1 as varchar(10))+' bigint,a'+cast(50000-@i+1 as varchar(10))+' bigint'

exec (@sql)

set @sql1=''

set @sql2=''

set @j=@i-1

while @j>=0

begin

--这里判断有点乱

if @j=0

set @sql1=@sql1+',a'+cast(50000-@j as varchar(10))

else

set @sql1=@sql1+',a'+cast(50000-@j as varchar(10))+',a'+cast(50000+@j as varchar(10))

if @j=@i-1

set @sql2=@sql2+',1,1'

else

if @j=0

set @sql2=@sql2+',a'+cast(50000-@j-1 as varchar(10))+'+a'+cast(50000-@j+1 as varchar(10))

else

set @sql2=@sql2+',a'+cast(50000-@j-1 as varchar(10))+'+a'+cast(50000-@j+1 as varchar(10))+',a'+cast(50000+@j-1 as varchar(10))+'+a'+cast(50000+@j+1 as varchar(10))

set @j=@j-2

end

--去掉多余的逗号

set @sql1=right(@sql1,len(@sql1)-1)

set @sql2=right(@sql2,len(@sql2)-1)

set @sql=cast(@i-1 as varchar(10))

exec('insert #('+@sql1+') select '+@sql2+' from # where id='+@sql)

set @i=@i+1

end

set @i=50000-@c+1

set @j=50000+@c-1

set @sql=''

--去最长的数据,就是为了节省显示空间

select @sql1=CAST(len(cast(max(a50000) as varchar(50)))+1 AS VARCHAR(10)) from #

while @i<=@j

begin

set @sql=@sql+',isnull(cast(a'+cast(@i as varchar(10))+' as varchar('+@sql1+')),'''')'

set @i=@i+1

end

exec ('select id'+@sql+' from # order by id')

drop table #

GO

--调用

exec #pr_YangHui 8

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql杨辉三角_实现杨辉三角相关推荐

  1. mysql杨辉三角_打印杨辉三角

    要求:打印10行杨辉三角形 提示: 杨辉三角是一个由数字排列成的三角形数表,一般形式如下: 1 n=0 1 1 n=1 1 2 1 n=2 1 3 3 1 n=3 1 4 6 4 1 n=4 1 5 ...

  2. 写出杨辉三角_认识杨辉三角

      杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列. 北宋人贾宪约1050年首先使用"贾宪三角"进行高次开方运算. 杨辉,字谦光,南宋时期杭州人.在 ...

  3. 蓝色三角_梅山!长三角唯一近海蓝色海湾成网红打卡地

    阳光.海浪.沙滩--一条美丽的海岸线不仅圆了宁波人的"蓝海梦",也成为宁波的一张生态名片. 如果说港口是梅山发展的基石,那么万人沙滩就是梅山休闲旅游的点睛之笔.这是梅山从荒芜滩涂到 ...

  4. 杨辉三角与倒置杨辉三角

    杨辉三角问题: 杨辉三角是按照一定规律排列而成的数字.在这里我们可以用程序来进行输出,比较容易. 首先用C语言说明问题代码,在本文章最后有C++的代码供参考. 杨辉三角的形式为: * ** * 实际上 ...

  5. 16281053_杨瑷彤_操作系统第五次实验-文件系统

    16281053_杨瑷彤_操作系统第五次实验-文件系统 源代码链接:https://github.com/rdjyat/operating-system/tree/master/操作系统实验五 1.实 ...

  6. c语言连接数据库例子,c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual help).doc...

    这是精心收集的精品经典资料,值得下载保存阅读! c语言操作mysql数据库小例子_互帮互助(C language MySQL database operation example _ mutual h ...

  7. golang mysql连接池原理_[Go] golang实现mysql连接池

    golang中连接mysql数据库,需要使用一个第三方类库github.com/go-sql-driver/mysql,在这个类库中就实现了mysql的连接池,并且只需要设置两个参数就可以实现 一般连 ...

  8. mysql db模块下载_易语言MySql数据库操作类V1.0模块源码

    易语言MySql数据库操作类V1.0模块源码 易语言MySql数据库操作类V1.0模块源码 系统结构:MySql数据库连接类_测试子程序,置连接选项,连接,关闭,是否已连接,取连接句柄,置连接句柄,执 ...

  9. mysql杨辉三角_两个经典的小例子:杨辉三角和水仙花

    package fllower; /** * 打印杨辉三角 * @author acer * */ public class YangHui { public static void main(Str ...

最新文章

  1. 多视图几何总结——单应矩阵和基础矩阵的兼容关系
  2. 【Git】Git-常用命令备忘录(三)
  3. 桌面虚拟化之用户评估指南 (翻译)
  4. 5G手机什么牌子的便宜一点
  5. 【毕业设计】基于PHP的网上书店的设计(论文)
  6. android的自定义字体,Android中使用自定义字体的方法
  7. 戴尔启动修复无法自动修复此计算机,在 Dell 计算机上运行 Windows 启动修复
  8. 3.正态分布概率模型下的最小错误率贝叶斯决策MATLAB程序代码
  9. Android 外置 SD 卡写入权限问题
  10. 为什么大学生活这么充实(累)
  11. Android数据库备份和恢复
  12. LNMP环境搭建之编译安装指南(php-5.3.27.tar.gz)
  13. AESECB加密算法 C 语言代码实现
  14. JAXWS CXF Spring + MyEclipse + Maven + Tomcat Byron自學視頻02
  15. C语言头插法尾插法创建单链表
  16. chmod命令原理及用法详解
  17. PHP压缩和解压缩文件的三种方式
  18. 郑豪7.17现货黄金下周一价格行情走势分析及开盘最新操作建议附多空单在线解套
  19. 每日新闻丨力争2025年网络安全产业规模突破2000亿/华为证实已生产不含美国部件5G基站...
  20. 絮絮叨叨的2020年小总结

热门文章

  1. dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Gold;第一次无效
  2. sql 递归查询所有的下级
  3. rabbitmq 如何删除队列中的消息
  4. mysql 保留两位小数
  5. 反思耗时任务异步处理
  6. visual studio学习python_python3从零学习-开发环境搭建之Visual Studio Code篇
  7. CRMEB小程序安装说明
  8. 计算机能模拟图灵机吗,关于计算机科学:图灵机与冯诺依曼机器
  9. 量子计算机理论基础,所谓量子计算机,是指建立在量子力学理论基础上的计算机...
  10. 前端须知的 Cookie 知识小结