The Challenge for Beginners
This challenge is not a real time problem directly, but it measures about logical thinking. The problem is all about finding the factorial of numbers. Though it is known to most of us what a factorial is, but to recall the concept here is an example:
Factorial of 3 is 1*2*3 = 6 i.e. the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n.
Sample Input Data
Nums ----------- 0 1 3 5 10
Expected Output
Nums Factorial ----------- ----------- 0 1 1 1 3 6 5 120 10 3628800
Script
Here is the script to generate the sample data
DECLARE @Fact TABLE(Nums INT) INSERT INTO @Fact SELECT 0 UNION ALL SELECT 1 UNION ALL SELECT 3 UNION ALL SELECT 5 UNION ALL SELECT 10 SELECT * FROM @Fact
Solution :
DECLARE @Fact TABLE(Nums INT) INSERT INTO @Fact SELECT 0 UNION ALL SELECT 1 UNION ALL SELECT 3 UNION ALL SELECT 5 UNION ALL SELECT 10 DECLARE @no INT,@f BIGINT,@nums INT DECLARE C1 CURSOR FOR SELECT nums FROM @fact OPEN C1 FETCH NEXT FROM C1 INTO @no WHILE @@FETCH_STATUS=0 BEGIN SELECT @f=1,@nums=@no WHILE @no>0 BEGIN SET @f=@f*@no SET @no=@no-1 END DECLARE @t TABLE(nums INT,Fact BIGINT) INSERT INTO @T SELECT @Nums,@F FETCH NEXT FROM C1 INTO @no END CLOSE C1 DEALLOCATE C1 SELECT * FROM @T ORDER BY 1
Just Paste Above solution in your SQL Server You will get a
Output that really you need.
0 comments:
Post a Comment