Calculer combien de fois de fois on peut diviser x par 2
Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
-
Magistrat1
- Membre Naturel
- Messages: 27
- Enregistré le: 17 Fév 2018, 10:22
-
par Magistrat1 » 18 Juil 2019, 11:23
Bonjour,
J'aimerais savoir comment caluler le nombre de fois qu'un nombre x peut etre diviser par deux sans tous le temps caluler :
x = x mod 2 = 0
jusqu'a que x soit impair
-
GaBuZoMeu
- Habitué(e)
- Messages: 6092
- Enregistré le: 05 Mai 2019, 09:07
-
par GaBuZoMeu » 18 Juil 2019, 11:30
Le moyen le plus rapide me semble être de faire les divisions par deux tant que le chiffre des unités est pair.
PS. Si l'entier est écrit en binaire, on compte les 0 à la fin de son écriture.
-
FLBP
- Habitué(e)
- Messages: 289
- Enregistré le: 25 Aoû 2017, 01:07
-
par FLBP » 18 Juil 2019, 11:54
Bonjour,
voici un code python qui n'utilise pas la fonction modulo, mais qui compte le nombre de 0 depuis le bit le moins significatif :
- Code: Tout sélectionner
def count2factors(n : int):
.....if n == 0:
..........return 0
.....if n < 0:
..........n = -n
.....factors = 0
.....power2 = 1
.....while power2&n == 0:
..........factors += 1
..........power2 <<= 1
.....return factors
-
lyceen95
- Membre Complexe
- Messages: 2263
- Enregistré le: 14 Juin 2019, 23:42
-
par lyceen95 » 18 Juil 2019, 19:07
La question, c'est comment faire ce calcul par programme, ou comment le faire de tête, sans papier ni crayon ?
-
Magistrat1
- Membre Naturel
- Messages: 27
- Enregistré le: 17 Fév 2018, 10:22
-
par Magistrat1 » 18 Juil 2019, 23:01
Merci du temps que vous m'avez accorder pour écrire vos retours, le problème est bien comme la énoncer lyceen95, comment le calculer sans programme mais avec une FORMULE
-
lyceen95
- Membre Complexe
- Messages: 2263
- Enregistré le: 14 Juin 2019, 23:42
-
par lyceen95 » 18 Juil 2019, 23:20
Je ne sais pas si on peut appeler ça une formule, mais pour savoir si un nombre est divisible par

, il suffit de regarder les n dernières décimales.
123456789012 est il divisible par 8 ? Non, puisque 012 n'est pas divisible par 8
-
danyL
- Membre Rationnel
- Messages: 682
- Enregistré le: 03 Jan 2015, 13:29
-
par danyL » 19 Juil 2019, 12:59
.
Modifié en dernier par
danyL le 19 Juil 2019, 20:07, modifié 1 fois.
-
GaBuZoMeu
- Habitué(e)
- Messages: 6092
- Enregistré le: 05 Mai 2019, 09:07
-
par GaBuZoMeu » 19 Juil 2019, 13:18
Magistrat1 a écrit:Merci du temps que vous m'avez accorder pour écrire vos retours, le problème est bien comme la énoncer lyceen95, comment le calculer sans programme mais avec une FORMULE
Tu peux essayer la formule magique "Abracadabra", mais je ne suis pas sûr qu'elle marche dans ce cas.
Plus sérieusement : je suis toujours un peu étonné par ce fétichisme de la "formule" qu'on rencontre assez fréquemment chez les gens éloignés des mathématiques.
-
lyceen95
- Membre Complexe
- Messages: 2263
- Enregistré le: 14 Juin 2019, 23:42
-
par lyceen95 » 19 Juil 2019, 13:51
Sinon, une autre piste : écrire le nombre en base 2, puis compter le nombre de 0 consécutifs à partir de la droite.
Exemple : 72 s'écrit 1001000 en base 2 ; Il y a 3 '0' consécutifs à la droite de ce nombre ; on peut donc le diviser par '2' 3 fois.
Je cherche la formule magique, je cherche...
-
GaBuZoMeu
- Habitué(e)
- Messages: 6092
- Enregistré le: 05 Mai 2019, 09:07
-
par GaBuZoMeu » 19 Juil 2019, 14:31
@lyceen95 : as-tu lu le deuxième message de ce fil ?

-
lyceen95
- Membre Complexe
- Messages: 2263
- Enregistré le: 14 Juin 2019, 23:42
-
par lyceen95 » 19 Juil 2019, 16:39
GaBuZoMeu a écrit:@lyceen95 : as-tu lu le deuxième message de ce fil ?

Zut, je croyais avoir fait une grande découverte, et j'ai été pris de vitesse par un autre chercheur.
-
Magistrat1
- Membre Naturel
- Messages: 27
- Enregistré le: 17 Fév 2018, 10:22
-
par Magistrat1 » 20 Juil 2019, 22:20
Merci à tous pour vos réponses m'ayant beaucoup aider particulièrement les formules de @lyceen95 et @fatal_error. Concernant le message de @GaBuZoMeu sur le "fétichisme des formules", j''appelle formule non pas l'expression mathématiques (de ce que j'ai pu comprendre) mais la manière de procédé, de plus votre manière de disclamé les personnes éloignés des mathématiques (non cultivée) fait sans doute effet miroir sur votre volonté de supériorité intellectuel sur ce sujet. Quoi qu'il en soit la question n'est pas la, Merci a tous pour vos retours le sujet est clos
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités