Problem:
Znajdź liczbę zer wiodących w 64-bitowej liczbie całkowitej ze znakiem
Zasady:
- Dane wejściowe nie mogą być traktowane jako ciąg; może to być wszystko, gdzie algorytm steruje operacjami matematycznymi i bitowymi
- Dane wyjściowe powinny zostać sprawdzone pod kątem 64-bitowej liczby całkowitej ze znakiem, niezależnie od języka
- Obowiązują domyślne zasady gry w golfa
- Najkrótszy kod w bajtach wygrywa
Przypadki testowe:
Testy te zakładają liczby całkowite ze znakiem uzupełnienia do dwóch. Jeśli w Twoim języku / rozwiązaniu brakuje innej reprezentacji liczb całkowitych z podpisem, zadzwoń i podaj dodatkowe przypadki testowe, które mogą być istotne. Dołączyłem kilka przypadków testowych, które dotyczą podwójnej precyzji, ale możesz zaproponować inne, które powinny zostać wymienione.
input output 64-bit binary representation of input (2's complement)
-1 0 1111111111111111111111111111111111111111111111111111111111111111
-9223372036854775808 0 1000000000000000000000000000000000000000000000000000000000000000
9223372036854775807 1 0111111111111111111111111111111111111111111111111111111111111111
4611686018427387903 2 0011111111111111111111111111111111111111111111111111111111111111
1224979098644774911 3 0001000011111111111111111111111111111111111111111111111111111111
9007199254740992 10 0000000000100000000000000000000000000000000000000000000000000000
4503599627370496 11 0000000000010000000000000000000000000000000000000000000000000000
4503599627370495 12 0000000000001111111111111111111111111111111111111111111111111111
2147483648 32 0000000000000000000000000000000010000000000000000000000000000000
2147483647 33 0000000000000000000000000000000001111111111111111111111111111111
2 62 0000000000000000000000000000000000000000000000000000000000000010
1 63 0000000000000000000000000000000000000000000000000000000000000001
0 64 0000000000000000000000000000000000000000000000000000000000000000
False
zamiast 0
?