Objectif
Étant donné un entier non négatif, créez une fonction qui renvoie la position de départ du nombre de 1 consécutifs les plus grands dans la valeur binaire de cet entier.
Lorsqu'une entrée est donnée 0
, retournez 0
.
Si le nombre comporte plusieurs séquences de longueur égale, vous devez renvoyer la position de la dernière séquence.
Contribution
Un entier supérieur ou égal à 0.
Sortie
Un entier calculé comme expliqué ci-dessous.
Règles
- C'est le code-golf, donc le code le plus court en octets dans chaque langue gagne.
- Les failles standard sont interdites.
Exemples et cas de test
Exemple 1
- Votre fonction est passée l'entier 142
- 142 est égal à 10001110 en binaire
- La séquence la plus longue est "111" (une séquence de trois séquences)
- La séquence commence à la position 2 ^ 1
- Votre fonction renvoie 1 comme résultat
Exemple 2
- Votre fonction est passée le nombre entier 48
- 48 est égal à 110000 en binaire
- La séquence la plus longue est "11" (une séquence de deux séquences)
- La séquence commence à la position 2 ^ 4
- Votre fonction renvoie 4 comme résultat
Exemple 3
- Votre fonction est passée le nombre entier 750
- 750 est égal à 1011101110 en binaire
- La séquence la plus longue est "111" (une séquence de trois séquences)
- Puisqu'il y a deux séquences de longueur égale, nous renvoyons la dernière séquence.
- La dernière séquence commence à la position 2 ^ 5
- Votre fonction renvoie 5 comme résultat
0
. C'est un cas de test important.