## Objective

Create a multiplication table for a randomly-chosen positive integer less than or equal to `100`

.

## Difficulty

## Description

*Time to go random!*

In this exercise, you have to randomly come up with a positive integer less than or equal to `100`

, and then create a multiplication table for that integer starting at `1`

and going all the way up to `12`

.

For instance, if the integer is `5`

, you'll compute 5 x 1, 5 x 2, ..., all the way upto 5 x 12.

For the output, start with the following line:

*<integer>*:

where * <integer>* is the randomly-chosen integer.

Next up, comes the multiplication table. **Leave a blank line** before printing the multiplication table.

Each row of the table is to be presented on a new line in the following form:

*<integer>*x

*<i>*=

*<product_i>*

where * <integer>* is the randomly-chosen integer,

*is the multiplier (starting at*

`<i>`

`1`

, and incrementing with each new row) and *is the product of these two numbers.*

`<product_i>`

Shown below is an example to clarify all these outputs:

## New file

Inside the directory you created for this course on PHP, create a new folder called **Exercise-10-Multiplication-Tables** and put the .php solution files for this exercise within it.

## Solution

We'll start by computing the random integer. Let's call it `$n`

.

The random integer has to be positive (i.e. above `0`

) and less than or equal to `100`

. That is, it should be in the range 1 – 100. To generate a random number in this range, we'll call `rand(1, 100)`

.

Let's get done with this first followed by making the first output:

```
<?php
$n = rand(1, 100);
echo 'Multiplication table for ', $n, ":\n";
```

The next step is to print a blank line, so let's also get this done:

```
<?php
$n = rand(1, 100);
echo 'Multiplication table for ', $n, ":\n";
// Blank line.
echo "\n";
```

With this done, now we only have to print the multiplication table for the random integer. One way is to copy paste 12 lines of `echo`

, but as you'd agree, that's very repetitive, and totally against the DRY (Don't Repeat Yourself) principle.

The best option is to use a loop to repetitively execute `print()`

.

*Which loop?* `for`

or `while`

?

Well, `for`

is useful to *iterate a specific number of times* or *go over a sequence*, whereas `while`

is more suited to some *condition-based iteration*.

Definitely, we'll go with `for`

since we have to repeat a known number of times — 12 specifically.

The general form of each row in the multiplication table is given in the exercise's description above, and based on that we'll format the output:

```
<?php
$n = rand(1, 100);
echo 'Multiplication table for ', $n, ":\n";
// Blank line.
echo "\n";
for ($i = 1; $i <= 12; $i++) {
echo $n, ' x ', $i, ' = ', $n * $i, "\n";
}
```

This completes our exercise.