if Exists(select * from sysobjects where id = object_id('calrabbit'))
begin
drop function dbo.calrabbit
end
go
create function dbo.calrabbit(@i int,@month int)
returns int
as
begin
if (@i < 2)
begin
if(@i = 1)
begin
return 1;
end
else
begin
return 0;
end
end
return dbo.calrabbit (@i -1,@month-1) + dbo.calrabbit (@i -2,@month-1);
end
go
-- 需要几个月
declare @i int
-- 几个月死
declare @month int
set @i = 11
set @month = 6
select dbo.calrabbit(@i,@month) -(dbo.calrabbit(@i-@month+2,@month) - dbo.calrabbit(@i-@month+1,@month) )
begin
drop function dbo.calrabbit
end
go
create function dbo.calrabbit(@i int,@month int)
returns int
as
begin
if (@i < 2)
begin
if(@i = 1)
begin
return 1;
end
else
begin
return 0;
end
end
return dbo.calrabbit (@i -1,@month-1) + dbo.calrabbit (@i -2,@month-1);
end
go
-- 需要几个月
declare @i int
-- 几个月死
declare @month int
set @i = 11
set @month = 6
select dbo.calrabbit(@i,@month) -(dbo.calrabbit(@i-@month+2,@month) - dbo.calrabbit(@i-@month+1,@month) )