Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2008 Forums
 Transact-SQL (2008)
 TRIANGLE MULTIPLICATION

Author  Topic 

rutvij1984
Starting Member

7 Posts

Posted - 2010-08-19 : 23:41:17
Print a triangular mulitplication table for 0 through 9
/*    E.g.
       0
       0 1
       0 2 4
       0 3 6 9
       0 4 8 12 16
       0 5 10 15 20 25
       0 6 12 18 24 30 36
       0 7 14 21 28 35 42 49
       0 8 16 24 32 40 48 56 64
       0 9 18 27 36 45 54 63 72 81
 */I DID THIS WITH STATEMENTS SHOWN BELOW. IT IS SHOWING THE CORRECT OUTPUT BUT NOT IN THE TRIANGLE FORM. ANY IDEA?

DECLARE @CNT INT
DECLARE @I INT
DECLARE @ANS INT
SET @CNT = 0
WHILE @CNT < 10
BEGIN
SET @I = 0
WHILE @I <= @CNT
BEGIN
SET @ANS = @I * @CNT
PRINT CAST(@ANS AS CHAR) + ' '
SET @I = @I + 1
END
SET @CNT = @CNT + 1
END

rnj

khtan
In (Som, Ni, Yak)

17689 Posts

Posted - 2010-08-20 : 00:54:33
[code]
; with numbers
as
(
select num = 0

union all

select num = num + 1
from numbers
where num < 9
),
result
as
(
select num1 = n.num, num2 = m.num, m.multiply
from numbers n
cross apply
(
select x.num, multiply = n.num * x.num
from numbers x
where x.num <= n.num
) m
)
select [0], [1], [2], [3], [4], [5], [6], [7], [8], [9]
from result
pivot
(
sum(multiply)
for num2 in ([0], [1], [2], [3], [4], [5], [6], [7], [8], [9])
) p
/*
0 1 2 3 4 5 6 7 8 9
----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- -----------
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 1 NULL NULL NULL NULL NULL NULL NULL NULL
0 2 4 NULL NULL NULL NULL NULL NULL NULL
0 3 6 9 NULL NULL NULL NULL NULL NULL
0 4 8 12 16 NULL NULL NULL NULL NULL
0 5 10 15 20 25 NULL NULL NULL NULL
0 6 12 18 24 30 36 NULL NULL NULL
0 7 14 21 28 35 42 49 NULL NULL
0 8 16 24 32 40 48 56 64 NULL
0 9 18 27 36 45 54 63 72 81

(10 row(s) affected)
*/
[/code]


KH
[spoiler]Time is always against us[/spoiler]

Go to Top of Page
   

- Advertisement -