Skip to content

2021-3: Multiplicity

Write a function that: - has a right argument Y which is an integer vector or scalar - has a left argument X which is also an integer vector or scalar - finds which elements of Y are multiples of each element of X and returns them as a vector (in the order of X) of vectors (in the order of Y).

πŸ’‘ Hint: The residue function X|Y and outer product operator X∘.fY might be useful for this problem.

Examples:

      βŽ•β†Y←20?20 ⍝ your example may be different
5 7 8 1 12 10 20 16 11 4 2 15 3 18 14 19 13 9 17 6

      2 4 7 3 9 (your_function) Y ⍝ using ]Box on
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”
β”‚8 12 10 20 16 4 2 18 14 6β”‚8 12 20 16 4β”‚7 14β”‚12 15 3 18 9 6β”‚18 9β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”˜

      3 (your_function) ⍳10
β”Œβ”€β”€β”€β”€β”€β”
β”‚3 6 9β”‚
β””β”€β”€β”€β”€β”€β”˜

      6 7 (your_function) 42
β”Œβ”€β”€β”¬β”€β”€β”
β”‚42β”‚42β”‚
β””β”€β”€β”΄β”€β”€β”˜

      2 3 5 (your_function) ⍬ ⍝ returns a vector of 3 empty vectors
β”Œβ”¬β”¬β”
β”‚β”‚β”‚β”‚
β””β”΄β”΄β”˜

      ⍬ (your_function) ⍳10 ⍝ returns an empty vector
your_function ←

Solutions

Video Thumbnail YouTube

Chat transcript Code on GitHub