Desafio
Dado um número xe um número n, arredondar xpara nnú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á no número de números significativos para os quais você deve arredondar x.
xserá 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. nserá um número inteiro positivo entre 1 e 50, inclusive. nnunca será maior que o número de dígitos x.
A entrada nunca será 0ou qualquer forma de 0, por exemplo, 0.000ou 000.
Exemplos
Inputs: 2.6754, 2
Output: 2.7
Uma saída de 2.7000seria 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 nnú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?