Frações intermediárias
O desafio:
Você precisará criar um código que leve pelo menos três entradas; 2 números inteiros e "uma representação de fração" - qualquer que seja o tipo que se adequa ao seu idioma para representar os incrementos de fração), ie. Se você escolher uma string, a entrada será "1/4" ou você poderá escolher 2 entradas inteiras extras ou uma tupla ou w / e.
A entrada pode ser razoável em qualquer lugar (STDIN, argumentos de função, de um arquivo, etc.), assim como a saída (STDOUT, valor de retorno da função para um arquivo, etc.)
Regras:
- A "fração" de entrada sempre será uma fração válida, menor que 1; exemplo "1/4"
- O segundo número inteiro de entrada sempre terá um valor mais alto que o primeiro número inteiro. Ou seja, o primeiro número inteiro de entrada sempre terá um valor menor que o segundo.
- Os números inteiros de entrada podem ser negativos.
- As frações produzidas devem ser reduzidas o máximo possível (simplificado)
O código precisará gerar cada "passo de fração" entre os 2 números em incrementos da fração de entrada.
O código deve ser um programa ou função, conforme indicado aqui
Exemplo 1:
Entrada: -2,3,"1/2"
Resultado:
-2
-3/2
-1
-1/2
0
1/2
1
3/2
2
5/2
3
Exemplo 2:
Entrada: 1,2,"2/3"
Resultado:
1
5/3
2
ou
1
4/3
2
Nota: A contagem pode começar em qualquer direção (obrigado @Mego)
Isso é código-golfe , então a resposta mais curta em bytes vence.