Escreva um programa ou função que leva em inteiros positivos a
, b
e c
, e impressões ou retorna a/b
para c
casas decimais, utilizando as operações + - * /% [somar, subtrair, multiplicar, dividir, modular] sobre os inteiros positivos: você pode usar tudo o que seu idioma permite, mas não em números de ponto flutuante. O intervalo de a, b, c seria o intervalo permitido para números inteiros não assinados no seu idioma. O resultado do número será truncado para o último dígito a ser impresso (portanto, não round
).
Isso significa que, se o seu idioma não tiver um tipo inteiro (apenas flutuante), você poderá participar usando esses números flutuantes apenas como números inteiros positivos. A pista deste exercício seria escrever a função que encontra os dígitos em uma divisão de ponto flutuante, usando apenas a operação + - * /% em números inteiros [não assinados].
Exemplos
print(1,2,1)
imprimiria0.5
print(1,2,2)
imprimiria0.50
print(13,7,27)
imprimiria1.857142857142857142857142857
print(2,3,1)
imprimiria0.6
print(4,5,7)
imprimiria0.8000000
print(4,5,1)
imprimiria0.8
print(9999,23,1)
imprimiria434.7
print(12345613,2321,89)
seria impresso se o seu idioma não tiver assinatura de 32 bits5319.09220163722533390779836277466609220163722533390779836277466609220163722533390779836277466
O código mais curto em bytes vence. Sinto muito se isso não parece claro ... Também não conheço idiomas, não lembro bem as palavras ... É melhor ter um link para Ideone.com ou algum outro lugar para tentar facilmente a resposta, especialmente para teste alguma entrada diferente da proposta.
(1,2,0)
. Veja meta.codegolf.stackexchange.com/a/5608/194
(1,2,0)
?
(1,2,0)
deve ser irrelevante, pois 0
não é um número inteiro positivo. E eu prefiro que se c restos assim desde que eu prefiro não ter que pensar em acrescentar uma .
ou não