En faisant du calcul mental, on peut faire:
- Étant donné un entier k, additionnez tous les chiffres (en base 10), et si le résultat est un multiple de 3, alors k est un multiple de 3.
Connaissez-vous un algorithme fonctionnant de manière similaire mais fonctionnant sur des chiffres binaires (bits)?
Au début, je pensais utiliser les fonctions prêtes à l'emploi de mon langage pour convertir un entier en ascii pour effectuer la conversion de la base 2 à la base 10, puis appliquer l'astuce du calcul mental. Mais bien sûr, je pourrais également encoder moi-même la conversion de base 2 en 10. Je ne l'ai pas encore fait, mais je vais essayer.
Ensuite, j'ai pensé à la division euclidienne en base 2 ...
Cependant, je me demande s'il existe d'autres moyens, des algorithmes.