1º Passo

$A = [2,6]$

$B = [24,36]$

Para o primeiro array, o valor $x$ deve ser um múltiplo dos elementos, ou seja, os itens são um fator de $x$ (MMC).

MMC = 6

Para o segundo array, o valor $x$ deve ser um divisor dos elementos, ou seja, $x$ é um fator dos itens (MDC).

MDC = 12

Calculando o MMC e o MDC dos dois arrays, conseguimos saber os limites para a resposta, que é entre 6 e 12.

Obs: Para casos em que os arrays tiverem vários números, basta calcular o MMC/MDC do primeiro par, e calcular o terceiro com base no resultado do segundo e assim sucetivamente:

$$ mmc(1,3,4) = mmc((1,3),4) $$

2º Passo

Montar um conjunto de números com as duas condições:

Multiplos de 6 (até 12):

$[6,12,18,24, ...]$

Divisores de 12 (até 6):

$[1,2, 3, 4, 6, 12]$

3º Passo

Agora, precisamos montar a resposta, que é a quantidade de elementos na intersecção dos dois conjuntos:

image.png

4º Passo

Encontrar os múltiplos do MMC de $A$ menores que o MDC do conjunto $B$. Para cada múltiplo que satisfazer a condição, deve-se acrescentar 1 ao contador.

int count = 0;
int multiplo = mmc_a;

while(multiplo <= mdc_b) {
	if(mdc_b % multiplo == 0) count ++;
	multiplo += mmc_a;
}

return count;