Question: You are given three parameters: start(int), end(int) and list(of int);

Make a function that returns the amount of times all the numbers between **start** and **end** are multiples of the elements in the **list**.
example:

```
start = 15; end = 18; list = [2, 4, 3];
15 => 1 (is multiple of 3)
16 => 2 (is multiple of 2 and 4)
17 => 0
18 => 2 (is multiple of 2 and 3)
result = 5

```

The function should accept two positive integer numbers and an array of integers as parameters, returning the total integer number. Assume that start is less <= end.

examples: 

```
Multiple(1, 10, [1, 2]); => 15
Multiple(1, 800, [7, 8]); => 214
Multiple(301, 5000,[13, 5]); => 1301

```

The shortest solution is the victor!!! May he odds be ever in your favor...

Answer: 
[K (oK)](https://github.com/JohnEarnest/ok), 16 bytes
=====================================================

```
{+//~z!\:x_!1+y}

```

[Try it online!](https://tio.run/##Hcc7DoAgEAXAqyyVEKLsA4mEvYqJHQ2FrZ/o1ZHYzdRxr62VfFvn3kut@dgU7Pm0Mg1aIwqSeJopGNEQsID8z8QsC6XuwJDIvQgUjWkf "K (oK) – Try It Online")

Explanation:
------------

```
{+//~z!\:x_!1+y} - function with 3 arguments [x;y;z] <- (start; end; list)
           !1+y  - a list 0 to end (inclusive)
         x_      - drop the first start numbers
     z!\:        - find the modulo of each number in the range start..end with each of list
    ~            - negate (0 becomes 1, non-zero becomes 0)
 +//             - reduce by addition and converge (repeat until result stops changing)

```

[J](http://jsoftware.com/), 22 bytes
====================================

```
1#.1#.0=[|/(}.i.,])/@]

```

[Try it online!](https://tio.run/##LcixCsIwFEDRPV9x0aEWyut7xmAoBPofpZMY1MWha/vtMUjgTOdT8pYEZUKLnaXStOzj5ZC3DGs/zmvp3UnocpKOgWMib849H68vXLnhyVjAYjurWwfTFnfiP6K2MU@o49UIqlp@ "J – Try It Online")

Explanation:
------------

The verbs (functions) in [J](http://jsoftware.com/) can take one (right) or two (left and right) arguments. The left argument is the `list`, the right one - a list of the `start` and `end` numbers. 

```
           (       )/@     insert the verb in () between the elements of
                      ]    the right argument (start and end)
                 ,         append
               i.          a list 0..end-1
                  ]        to the right argument (end)
             }.            drop start elements
          |/               insert modulo verb between the above list and 
         [                 the left argument (the list)
       0=                  compare each with 0
    1#.                    sum by base 1 conversion 
 1#.                       sum by base 1 conversion 
                           (we do it twice, because the result of |/ is a table)

```
[Perl 5](https://www.perl.org/) (`-ap`), 33 bytes
=================================================

```perl
for$i(<>..<>){$i%$_||$\++for@F}}{

```

[Try it online!](https://tio.run/##K0gtyjH9/z8tv0glU8PGTk/Pxk6zWiVTVSW@pkYlRlsbKOHgVltb/f@/obGCKZexgSGXqYGBwb/8gpLM/Lzi/7qJBQA "Perl 5 – Try It Online")