how to write a script for multiplication table

I am wondering how to write a script that will print a multiplication table that looks like this: 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25

2 Comments

What is the logic behind the sequence? Once you define that the rest is quite simple with
doc sprintf
to print out the numbers in whatever format you choose.
I need to use a for loop to do it, that's a great shortcut though.

Sign in to comment.

Answers (1)

it seems that the sequence contains all the multiples of integers up to the square, i.e., in other form
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
and so forth
it will probably be more efficient with a loop, but you can also try
N = 5;
ix = [1:N].';
v = ix*ix.';
v(ix(:, ones(N, 1))<=ix(:, ones(N, 1)).').'
which throws away nearly half of the elements after generation

1 Comment

yeah, I need to use a loop in order to answer the question in the most efficient way. Thanks though!

Sign in to comment.

Asked:

on 28 Oct 2015

Commented:

on 28 Oct 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!