Dado um número como entrada, determine quantos números significativos ele possui. Esse número deve ser tomado como uma sequência, porque você precisa fazer alguma formatação especial. Você verá o que quero dizer em breve (eu acho).
Um dígito é um símbolo se pelo menos um dos seguintes itens se aplicar:
- Dígitos diferentes de zero são sempre significativos.
- Quaisquer zeros entre dois dígitos significativos são significativos.
- zero final ou zeros à direita na parte decimal são significativos.
- todos os dígitos são significativos se nada seguir a casa decimal.
- quando houver apenas zeros, todos, exceto o último zero, são considerados zeros iniciais
Entrada
Uma string ou matriz de strings do número. Pode ter um ponto decimal no final sem um dígito depois dele. Pode não ter um ponto decimal.
Resultado
Quantos sig-figs existem.
Exemplos
1.240 -> 4
0. -> 1
83900 -> 3
83900.0 -> 6
0.025 -> 2
0.0250 -> 3
2.5 -> 2
970. -> 3
0.00 -> 1
Respostas:
05AB1E ,
1110 bytesExperimente online! ou como um conjunto de testes
Explicação
fonte
Retina,
2927 bytesGuardado 2 bytes graças a @MartinEnder
Experimente online! | Suíte de teste
fonte
Lote,
204202 bytesRecebe entrada em STDIN. Funciona removendo zeros à direita se o número não contiver a
.
, removendo os.
zeros à esquerda e à esquerda, a menos que haja apenas zeros, nesse caso, ele deixa um zero. Finalmente, leva o comprimento da string restante.fonte
%
s em toda a minha vida: OScala, 90 bytes
Explicação:
fonte
C # 6, 163 bytes
Ungolfed
fonte