Meydan okuma
32 bit ikisinin tamamlayıcı biçiminde bir tamsayı verildiğinde , ikili gösterimde ikinci en az anlamlı sıfır basamağının dizinini döndürün; burada bir indeksi 0en az anlamlı biti ve en önemli biti temsil eden bir indeksi döndürür 31.
İkinci sıfır yoksa, 0'ı, herhangi bir negatif sayıyı, herhangi bir yanlış değeri döndürebilir veya bir hatayı kendi dilinizde anlamlı olacak şekilde bildirebilirsiniz.
İsterseniz 1-endeksleme kullanabilirsiniz, ancak aşağıdaki test senaryoları 0-endeksleme kullanacaktır.
İsterseniz işaretsiz tamsayılar kullanabilirsiniz; bunu yaparsanız, aralıktaki tamsayıları işlemeniz gerekir [0, 2^32). İşaretli tamsayılar kullanırsanız, aralıktaki tamsayıları işlemeniz gerekir [-2^31, 2^31). Buradaki test senaryolarında imzalı tamsayılar kullanılır, ancak -x(imzalı) 2^32 - x(imzasız) olduğuna dikkat edin .
Test Durumları
0 (0b00) -> 1 1 (0b001) -> 2 10 (0b1010) -> 2 11 (0b01011) -> 4 12 (0b1100) -> 1 23 (0b010111) -> 5 -1 (0b11..11) -> Yok -2 (0b11..10) -> Yok -4 (0b11..00) -> 1 -5 (0b11..1011) -> Yok -9 (0b11..10111) -> Yok 2 ^ 31-2 (0b0111..1110) -> 31
puanlama
Bu kod golf , bu yüzden her dilde en kısa cevap kazanır!
[0, 2^32).
0b...girdi olarak mı alıyoruz ?
2^32-1çünkü geri dönmemem gerekiyordu 33.