Biorąc pod uwagę liczbę jako dane wejściowe, określ, ile ma znaczących liczb. Liczba ta powinna być traktowana jako ciąg znaków, ponieważ musisz wykonać specjalne formatowanie. Wkrótce zobaczysz, co mam na myśli (tak myślę).
Cyfra to sig-fig, jeśli ma zastosowanie co najmniej jedna z następujących czynności:
- Cyfry niezerowe są zawsze znaczące.
- Wszelkie zera między dwiema cyframi znaczącymi są znaczące.
- końcowe zero lub końcowe zera tylko w części dziesiętnej są znaczące.
- wszystkie cyfry są znaczące, jeśli nic nie następuje po przecinku.
- gdy są tylko zera, wszystkie oprócz ostatniego zera są uważane za zera wiodące
Wejście
Ciąg lub tablica ciągów liczby. Może mieć na końcu kropkę dziesiętną bez cyfry po nim. Może w ogóle nie mieć przecinka dziesiętnego.
Wynik
Ile jest sig-fig.
Przykłady
1.240 -> 4
0. -> 1
83900 -> 3
83900.0 -> 6
0.025 -> 2
0.0250 -> 3
2.5 -> 2
970. -> 3
0.00 -> 1
Odpowiedzi:
05AB1E ,
1110 bajtówWypróbuj online! lub jako pakiet testowy
Wyjaśnienie
źródło
Retina,
2927 bajtówZaoszczędź 2 bajty dzięki @MartinEnder
Wypróbuj online! | Zestaw testowy
źródło
Partia,
204202 bajtówPobiera dane wejściowe na STDIN. Działa poprzez usuwanie końcowych zer, jeśli liczba nie zawiera a
.
, a następnie usuwanie.
zer wiodących, chyba że są tylko zera, w którym to przypadku pozostawia jedno zero. Wreszcie zajmuje długość pozostałego ciągu.źródło
%
s: OScala, 90 bajtów
Wyjaśnienie:
źródło
C # 6, 163 bajty
Nie golfił
źródło