DECLARE @StartNum INT, @EndNum INT, @Ones INT = 0, @Tens INT = 0, @Hundreds INT = 0, @Thousands INT = 0, @Sum INT, @LuckyNumber INT
-- Please set your inputs here. Both StartNum & EndNum Should be <= 4 digit number & Lucky Number between 1 to 9
-- Parameter Section BEGIN
SET @StartNum = 1
SET @EndNum = 9999
SET @LuckyNumber = 1
-- Parameter Section END
DECLARE @Numbers TABLE
(
Number INT,
DigitSum INT
)
WHILE ( @StartNum <= @EndNum )
BEGIN
IF (@StartNum < 10)
BEGIN
SET @Ones = @StartNum
END
ELSE IF (@StartNum >= 10 AND @StartNum < 100)
BEGIN
SET @Tens = LEFT(@StartNum,1)
SET @Ones = RIGHT(@StartNum,1)
END
ELSE IF (@StartNum >= 100 AND @StartNum < 1000)
BEGIN
SET @Hundreds = LEFT(@StartNum,1)
SET @Tens = RIGHT(LEFT(@StartNum,2),1)
SET @Ones = RIGHT(@StartNum,1)
END
ELSE
BEGIN
SET @Thousands = LEFT(@StartNum,1)
SET @Hundreds = RIGHT(LEFT(@StartNum,2),1)
SET @Tens = RIGHT(LEFT(@StartNum,3),1)
SET @Ones = RIGHT(@StartNum,1)
END
SET @Sum = @Thousands + @Hundreds + @Tens + @Ones
IF (@Sum >= 10)
BEGIN
SET @Tens = LEFT(@Sum,1)
SET @Ones = RIGHT(@Sum,1)
INSERT INTO @Numbers
SELECT @StartNum, @Tens + @Ones
END
ELSE
BEGIN
INSERT INTO @Numbers
SELECT @StartNum, @Thousands + @Hundreds + @Tens + @Ones
END
SET @StartNum = @StartNum + 1
END
SELECT Number FROM @Numbers WHERE DigitSum = @LuckyNumber
-- Please set your inputs here. Both StartNum & EndNum Should be <= 4 digit number & Lucky Number between 1 to 9
-- Parameter Section BEGIN
SET @StartNum = 1
SET @EndNum = 9999
SET @LuckyNumber = 1
-- Parameter Section END
DECLARE @Numbers TABLE
(
Number INT,
DigitSum INT
)
WHILE ( @StartNum <= @EndNum )
BEGIN
IF (@StartNum < 10)
BEGIN
SET @Ones = @StartNum
END
ELSE IF (@StartNum >= 10 AND @StartNum < 100)
BEGIN
SET @Tens = LEFT(@StartNum,1)
SET @Ones = RIGHT(@StartNum,1)
END
ELSE IF (@StartNum >= 100 AND @StartNum < 1000)
BEGIN
SET @Hundreds = LEFT(@StartNum,1)
SET @Tens = RIGHT(LEFT(@StartNum,2),1)
SET @Ones = RIGHT(@StartNum,1)
END
ELSE
BEGIN
SET @Thousands = LEFT(@StartNum,1)
SET @Hundreds = RIGHT(LEFT(@StartNum,2),1)
SET @Tens = RIGHT(LEFT(@StartNum,3),1)
SET @Ones = RIGHT(@StartNum,1)
END
SET @Sum = @Thousands + @Hundreds + @Tens + @Ones
IF (@Sum >= 10)
BEGIN
SET @Tens = LEFT(@Sum,1)
SET @Ones = RIGHT(@Sum,1)
INSERT INTO @Numbers
SELECT @StartNum, @Tens + @Ones
END
ELSE
BEGIN
INSERT INTO @Numbers
SELECT @StartNum, @Thousands + @Hundreds + @Tens + @Ones
END
SET @StartNum = @StartNum + 1
END
SELECT Number FROM @Numbers WHERE DigitSum = @LuckyNumber
No comments:
Post a Comment