Gdy zaokrąglasz cyfrę, jeśli następną cyfrą jest >= 5
dodawanie 1. Na przykład:
3.1415926535 rounded to 1dp is 3.1
3.1415926535 rounded to 4dp is 3.1416 <-- Note the 5 changed to 6
3.1415926535 rounded to 5dp is 3.14159
3.1415926535 rounded to 9dp is 3.141592654 <-- Note the 3 changed to 4
Twoim wyzwaniem jest otrzymanie liczby całkowitej jako danych wejściowych i wyjściowych liczby miejsc dziesiętnych, przed którymi musiałbyś zaokrąglić pierwiastek kwadratowy z liczby - tj. Liczby miejsc dziesiętnych przed >= 5
występującą liczbą cyfr .
Liczba całkowita będzie zawierać się w przedziale od 0 do 100 000 włącznie, więc w przypadku krawędzi 59752 musisz obsługiwać 17 miejsc po przecinku (aby sprawdzić 17).
Jeśli język programowania nie może zmienić liczby miejsc po przecinku, możesz wyświetlić „?” wiadomość do użytkownika.
Przykład:
Input Root Output
5 -> 2.23 606797749979 -> 2
41 -> 6.40312423 743284 -> 8 (Largest gap under 100)
596 -> 24.4131112314 674 -> 10 (Largest gap under 1000)
59752 -> 244.44222221212112029 -> 16 (Largest gap under 100000)
Rób, co chcesz, na idealnych kwadratach.
To jest golf golfowy, więc wygrywa najkrótszy kod.
Dla każdego zainteresowanego liczba 310 617 jest największa poniżej 1 000 000 i ma 18, zanim dojdziesz do cyfry >= 5
.
Odpowiedzi:
CJam, 17 bajtów
Wypróbuj online.
źródło
Pyth, 13 bajtów
Zestaw testowy
Zacznij od
Q
równej wartości wejściowej. Na każdym etapie pomnóżQ
przez 100, obliczone jakochr('d')
. Weź pierwiastek kwadratowy. Weź ten mod 10. Jeśli wynik jest większy niż5
, zakończ. Wydrukuj liczbę iteracji potrzebnych do zakończenia, indeksowane 0.Szczegółowo:
źródło
CJam,
292628 bajtówWypróbuj online.
Umieszcza „?” jeśli liczba nie pojawia się, można ją zaokrąglić w górę (idealny kwadrat lub zbyt długi).
źródło
Pyth, 22 bajty
Wyjaśnienie
Jestem absolutnie pewien, że można grać w golfa. Jeśli wejście nie ma cyfry wyższej niż 4, wydrukuje -1. Obsługuje 17dp.
źródło
JavaScript, 59 bajtów
Zwraca
?
59592, ponieważ JavaScript używa tylko podwójnej precyzji.źródło
Powłoka Linux, 52 bajty
Próbowałem znaleźć czyste
dc
rozwiązanie, ale mi się nie udało. Precyzja jest regulowana (pierwsza liczba).Jak PO uprzejmie określa, że „możesz robić, co chcesz na idealnych kwadratach”, w tym przypadku to rozwiązanie daje dokładność + 1, w tym przypadku 35.
źródło
Mathematica 60 bajtów
Przykład
źródło
Apply
.Ruby, 46 bajtów
Może to nie być poprawne, ponieważ mieści tylko 16 cyfr.
źródło
nil
, ponieważ żadna cyfra po 4 nie jest w całym ciągu. Może to zależeć od wersji ruby.