MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

A vampire number is a number v that is the product of two numbers x and y such that the following conditions are satisfied:

- at most one of x and y are divisible by 10;
- x and y have the same number of digits; and
- The digits in v consist of the digits of x and y (including any repetitions).

If these conditions are met, x and y are known as "fangs" of v. For example, 1260 is a vampire number because 1260 = 21*60, so 21 and 60 are the fangs.

Write a function that returns all the pairs of fangs for a given number. The output is a matrix in which each row is a pair; the values in the first row should be in increasing order. If it is not a vampire number, it will return empty arrays.

Example:

disp(vampire_factor(125460))

204 615 246 510

See also: Problem 1804. Fangs of a vampire number and and 1826. Find vampire numbers.

17 correct solutions
13 incorrect solutions

Last solution submitted on Dec 09, 2014