首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请问一个sql server的基础有关问题

2012-11-10 
请教一个sql server的基础问题http://topic.csdn.net/u/20121016/08/96135f83-de4e-4aa0-93bd-f559be5cefb

请教一个sql server的基础问题
http://topic.csdn.net/u/20121016/08/96135f83-de4e-4aa0-93bd-f559be5cefb5.html

[解决办法]

SQL code
declare @g int = 1, @m int, @x int, @money int = 100while (@money > 0)begin     set @money = 100 - (@g*5) --剩下的钱    set @m = 1     set @x = 1    --二次循环    while (@m <= @money/3)    begin         set @x = 100 - @g*5 -@m*3            if @x <> 0    -- 这里不能有0 的情况            print '公鸡:'+convert(varchar(2),@g)+'母鸡:'+convert(varchar(2),@m)+'小鸡:'+convert(varchar(2),@x)        set @m = @m +1    end    --将母鸡数量重置    set @m = 1    set @money = 100 - (@g*5)    set @g = @g+1end
[解决办法]
应该是百元买百鸡
DECLARE @i INT;
DECLARE @j INT;
DECLARE @k INT;
SET @i = 0;
SET @j = 0;
SET @k = 0;
WHILE @i <= 20
BEGIN
set @j = 0;
WHILE @j <= 33
BEGIN 
SET @k =0;
WHILE @k <= 100
BEGIN
IF( @k%3=0 and @i * 5 + @j * 3 + @k/3 = 100 AND @i + @j + @k =100)
begin
PRINT CAST(@i AS VARCHAR) + ' * 5 + ' + Cast(@j AS VARCHAR) + ' * 3 + ' + cast(@k AS VARCHAR) + ' * 1/3'

END
SET @k = @k + 1
END
SET @j = @j + 1
END
SET @i = @i + 1
END

输出:
0 * 5 + 25 * 3 + 75 * 1/3
4 * 5 + 18 * 3 + 78 * 1/3
8 * 5 + 11 * 3 + 81 * 1/3
12 * 5 + 4 * 3 + 84 * 1/3

热点排行