如何用T-SQL使用最短的语句输出100以内素数?
2011-11-18 17:13
537 查看
最近有人问我这样一个问题:如何用T-SQL使用最短的语句输出100以内素数?
这个输出100以内素数貌似在多年前是比较常见的面试题,但是题目中没有强调效率,只是要求最短的语句,我表示很不理解。
难不成是脑筋进转弯?
应该不是,正常思路的话:
我只是个普通青年,不是文艺青年,也不是213青年,写不出那么多种写法。
这个输出100以内素数貌似在多年前是比较常见的面试题,但是题目中没有强调效率,只是要求最短的语句,我表示很不理解。
难不成是脑筋进转弯?
PRINT '2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97'
应该不是,正常思路的话:
--定义一个表变量,用来存储找到的素数 DECLARE @t TABLE ( id INT ) DECLARE @i INT SET @i = 2 WHILE ( @i <= 100 ) BEGIN DECLARE @j INT SET @j = SQRT(@i) WHILE ( @j >= 2 ) BEGIN IF ( @i % @j = 0 ) BREAK SET @j = @j - 1 END IF ( @j = 1 ) INSERT INTO @t SELECT @i SET @i = @i + 1 END --查看结果 SELECT * FROM @t /* id ----------- 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 */
我只是个普通青年,不是文艺青年,也不是213青年,写不出那么多种写法。
相关文章推荐
- 如何用T-SQL使用最短的语句输出100以内素数?
- 打印输出100以内的素数
- 总结mysql不使用索引情况以及如何优化sql语句
- SQL语句如何输出两次相同的数据但是字段不一样
- iOS 使用Core Date 如何在控制台打印SQL语句
- 作业3(5)输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用 switch语句。
- 如何使用hibernate执行sql语句
- mybatis如何在控制台输出sql语句
- 使用spring-boot-starter-data-jpa 怎么配置使运行时输出SQL语句
- JAVA 面试题 输出100以内的所有素数
- 在Oracle使用sql语句中如何插入日期格式的数据
- 如何使用SQL语句将行和列进行转换?
- 如何使用SQLPLUS分析SQL语句(查询执行计划跟踪)
- 如何使用Oracle查询并删除重复记录的SQL语句
- 作业3-5 输入五级制成绩(A-E),输出相应的百分制成绩(0-100)区间,要求使用 switch语句。例如,输入 A,输出 90-100。五级制成绩对应的百分制成绩区间为:A(90-100)、B(80-89)、C(70-79)、D(60-69)和 E(0-59)。
- 使用Core Data时如何看到所执行的SQL语句?
- 使用Core Data时如何看到所执行的SQL语句?
- 如何判断100以内的素数?
- 如何在sql语句中使用保留字
- 函数实现判断素数并调用函数输出100以内所有素数