Boa tarde galera, beleza?
Preciso retornar 3 resultados em um exercicio sobre algoritmo euclidiano. O código é o seguinte:
let array = gets().split(' ')
let a = parseInt(array[0])
let b = parseInt(array[1])
let r = a % b;
let q = (a - r) / b;
console.log(q + " " + r);
Os numeros já vem preenchido por padrão, estou usando uma plataforma que ja insere os valores, fazendo as entradas(As entradas são recebidas em let array = gets().split(' ')
).
Os valores de entrada são:
1ª Entrada: 7 3 Saída: 2 1
2ª Entrada: 7 -3 Saída: -2 1
3ª Entrada: -7 -3 Saída: 2 1
Meu código passa no teste das 2 primeiras entradas, mas não no teste da terceira.
Pra vocês entenderem a fundo, vou colocar abaixo o enunciado do exercício inteiro.
## Desafio
Você recebeu desafio de desenvolver um programa que calcule o quociente e o resto da divisão de dois números inteiros. Não se esqueça que o quociente e o resto da divisão de um inteiro a por um inteiro não-nulo b são respectivamente os únicos inteiros q e r tais que:
0 ≤ r < | b |
Se r < 0: r = r - | b |
a = b × q + r
q = ( a - r ) / b
Caso você não saiba, o teorema que garante a existência e a unicidade dos inteiros q e r é conhecido como ‘Teorema da Divisão Euclidiana’ ou ‘Algoritmo da Divisão’.
** | b | (Módulo / Valor absoluto): É o valor representado de forma positiva;
## Entrada
A entrada é composta por dois números inteiros a e b (-1.000 ≤ a , b < 1.000).
## Saída
Imprima o quociente q seguido pelo resto r da divisão de a por b , considerando as regras apresentadas a cima.