SQL实现显示杨辉三角(转载)

简介:

 

create proc pr_YangHui     @n int  --杨辉三角的层数,1~67 as  /*    SQL实现显示杨辉三角    */ begin     set nocount on     if @n<1 or @n>67          return     declare @t table(nid int identity(1,1), val bigint) --存储杨辉三角中的数字     insert @t select top 80 1 from sysobjects a, sysobjects b     declare @i int, @str varchar(4000), @nWidth int, @cSpace varchar(20)          --计算数字的最大宽度,以便控制数字前面显示的空格     set @i=1     while @i<=@n     begin         update a set val=a.val+b.val         from @t a join @t b on a.nid=b.nid+1 where a.nid<@i                  set @i=@i+1          end          select @nWidth = len(max(val))+1 from @t         update @t set val=1 where nid<@i     select @nWidth = @nWidth + @nWidth%2, @cSpace=space(@nWidth)     --打印杨辉三角     set @i=1     while @i<=@n     begin         update a set val=a.val+b.val         from @t a join @t b on a.nid=b.nid+1 where a.nid<@i         set @str= ''         select @str=@str+right(@cSpace+cast(val as varchar), @nWidth) from @t where nid<=@i         print space((@n-@i)*@nWidth/2)+@str         set @i=@i+1          end  end go exec pr_YangHui 6 /*              1            1   1          1   2   1        1   3   3   1      1   4   6   4   1    1   5  10  10   5   1 */ --drop proc pr_YangHui
本文转自温景良博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2008/11/04/1326633.html,如需转载请自行联系原作者
相关文章
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
692 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
XML SQL Java
Mybatis-Plus中实现使用xml文件来写复杂sql
Mybatis-Plus中实现使用xml文件来写复杂sql
2337 0
|
SQL Java 数据库连接
Mybatis中sql拦截增强-AOP+interceptor实现分页和排序
基于interceptor可以实现sql的完整打印,除了实现打印之外。其实还可以实现分页和排序,下面的分页和排序基于aop+mybatis的interceptor实现。其本质还是对mappedStament的boundSql进行增强。 下面的项目来源于github,通过这个我们可以很好的学习mybatis中插件interceptor的使用。
977 1
Mybatis中sql拦截增强-AOP+interceptor实现分页和排序
|
SQL 前端开发 关系型数据库
mysql实现一次将多条不同sql查询结果并封装到一个结果集
最近遇到一个统计查询需求,要求一次性查询多个统计信息,其中两个查询信息不在一个表中,也没有业务关联,表中也没有做连接处理。不考虑产品设计是否合理,完全是实际需求如此,需要一次性查询出来返回给前端进行展示,对于这种“非常规”的统计查询平常肯定会遇见,感觉有点代表性,所以简单记录一下。希望对有相同需求的同学可以作为参考。
mysql实现一次将多条不同sql查询结果并封装到一个结果集
|
SQL Oracle 关系型数据库
oracle用SQL Plus输入命令为什么只显示2
oracle用SQL Plus输入命令为什么只显示2
718 0
oracle用SQL Plus输入命令为什么只显示2
|
SQL 存储 druid
MyCat - 架构剖析 - 核心技术之 SQL 路由实现 | 学习笔记
快速学习 MyCat - 架构剖析 - 核心技术之 SQL 路由实现
MyCat - 架构剖析 - 核心技术之 SQL 路由实现 | 学习笔记
|
SQL 大数据 UED
电商项目之支付类指标统计表 SQL 实现|学习笔记
快速学习电商项目之支付类指标统计表 SQL 实现
电商项目之支付类指标统计表 SQL 实现|学习笔记
|
SQL 大数据 开发者
电商项目之用户指标类统计表 SQL 实现|学习笔记
快速学习电商项目之用户指标类统计表 SQL 实现
电商项目之用户指标类统计表 SQL 实现|学习笔记
|
SQL 大数据 开发者
电商项目之用户浏览 DWS 表 SQL 实现|学习笔记
快速学习电商项目之用户浏览 DWS 表 SQL 实现
电商项目之用户浏览 DWS 表 SQL 实现|学习笔记
|
SQL 大数据 数据处理
电商项目之用户交易宽表 SQL 实现|学习笔记
快速学习电商项目之用户交易宽表 SQL 实现
电商项目之用户交易宽表 SQL 实现|学习笔记