Desafio
Dado um número x
e um número n
, arredondar x
para n
números significativos e gerar o resultado.
Figuras significativas
Os números significativos de um número são dígitos que carregam significado, contribuindo para sua resolução de medição. Isso inclui todos os números, exceto os zeros à esquerda.
Lembre-se de que zeros à esquerda após um ponto decimal ainda são números insignificantes .
Ao arredondar um dígito, você deve arredondar para zero se o dígito a seguir for maior ou igual a cinco.
Todos os zeros à direita após um ponto decimal são contados como significativos.
Entrada
O primeiro número será x
, o número a ser arredondado. O segundo número será n
o número de números significativos para os quais você deve arredondar x
.
x
será um número (seu código deve lidar com números inteiros e pontos flutuantes) entre -1.000.000.000 e 1.000.000.000 inclusive. n
será um número inteiro positivo entre 1 e 50, inclusive. n
nunca será maior que o número de dígitos x
.
A entrada nunca será 0
ou qualquer forma de 0
, por exemplo, 0.000
ou 000
.
Exemplos
Inputs: 2.6754, 2
Output: 2.7
Uma saída de 2.7000
seria inválida porque os zeros à direita após o ponto decimal são contados como números significativos.
Inputs: 0.00034551, 4
Output: 0.0003455
Inputs: 50237.1238, 3
Output: 50200
Observe que isso não deve ter um ponto decimal.
Inputs: 2374905, 1
Output: 2000000
Inputs: 543.0489, 4
Output: 543.0
Inputs: 15, 1
Output: 20
Inputs: 520.3, 3
Output: 520
Se desejar, você pode produzir, em 520.
vez disso, mas não 520.0
.
Inputs: -53.87, 2
Output: -54
Inputs: 0.0999, 2
Output: 0.10
Regras
As funções e bibliotecas internas que permitem arredondar um número para n
números significativos não são permitidas.
Ganhando
O código mais curto em bytes vence.
2.0 x 10^2
, mostrando os 2 sigfigs.
Inputs: 520.3, 3
, o ponto decimal na resposta não é520.
crucial?