Inscription / Connexion Nouveau Sujet
Niveau énigmes
Partager :

Mariage binaire décimal

Posté par
dpi
06-01-21 à 14:44

Bonjour à tous,

Si on divise un nombre binaire par son correspondant décimal,on
obtient de temps en temps * une valeur entière .
On observe  que les deux premiers se suivent  1/1=1 et 10/2 =5   formant un duo.
Qui trouvera  deux  prochains duos.

*certainement < 1/400

Posté par
flight
re : Mariage binaire décimal 06-01-21 à 15:51

salut Dpi que veux tu dire par " se suivent " ?

Posté par
LittleFox
re : Mariage binaire décimal 06-01-21 à 16:56


Voici la liste des nombres entre 1 et 999 dont la division est entière :

 Cliquez pour afficher


Avec 29 résultats sur 999 on est bien au delà de 1/400.

Excepté 1 et 2 qui se suivent, on a :
 Cliquez pour afficher


Si a est solution alors a2^k est aussi solution.
En effet, bin(a2^k) = [tex]bin(a) 10^k[/tex]. bin(a) est par hypothèse divisible par a et 10^k = 2^k5^k est divisible par 2^k.

Les puissances de 10 sont des solutions.
En effet bin(10^k) = bin(2^k5^k) = bin(5^k)10^k

Voici la liste des nombres entre 1 et 1000000 qui sont solution sans être de la forme a2^k avec k>0 et a une autre solution et qui ne sont pas une puissance de 10.

 Cliquez pour afficher

Peut-on trouver un schéma?

Posté par
dpi
re : Mariage binaire décimal 06-01-21 à 17:36

>flight
binaire 1   décimal 1et  binaire 10 décimal 2  donnent 1/1=1 et 10/2=5 et sont un duo
puisqu'ils  se suivent.
On cherche d'autres duos......

>Littlefox
Tu as du te rendre compte que la rareté progresse... <1/400

 Cliquez pour afficher

Posté par
dpi
re : Mariage binaire décimal 06-01-21 à 18:01

>Littlefox
Petit graphe des   80 valeurs sur 32000
Je suis surpris par les deux parties asymptotiques.

 Cliquez pour afficher

Posté par
flight
re : Mariage binaire décimal 06-01-21 à 19:32

re

le programme suivant que j'ai fait en vba me retourne les memes valeurs que Littlefox

Citation :
Sub detente()
Dim t() As Variant
base_fin = InputBox("saisir la base finale pour la conversion") 'ici base 2

For boucle = 1 To 100
nombre = boucle
j = 0
w = ""
x = ""
n = 0
Erase t

w = ""

1:
Do
j = j + 1
Loop Until Val(base_fin) ^ j >= Val(nombre)
If Val(base_fin) ^ j > Val(nombre) Then
    w = w & "+" & ((Val(nombre) - Val(nombre) Mod (Val(base_fin) ^ (j - 1))) / (Val(base_fin) ^ (j - 1))) & "." & Val(base_fin) & "^" & (j - 1)
    If Val(nombre) - ((Val(base_fin) ^ (j - 1)) * (Int(Val(nombre) / (Val(base_fin) ^ (j - 1))))) <> 0 Then
    nombre = nombre - ((Val(nombre) - Val(nombre) Mod (Val(base_fin) ^ (j - 1))) / (Val(base_fin) ^ (j - 1))) * (Val(base_fin) ^ (j - 1))
    j = 0
      GoTo 1
      Else
    
      '***************************************
      For i = 1 To Len(w)
        If Mid(w, i, 1) = base_fin Then
          ReDim Preserve t(0 To n)
            t(n) = Mid(w, i + 2, 1)
              n = n + 1
        End If
      Next
      
      For i = Val(Mid(w, 6, 1)) To 0 Step -1
       If InStr(Join(t, " "), i) > 0 Then
         x = x & "1"
         Else
         x = x & "0"
        End If
      Next
      
      '***************************************
    End If
Else
    w = w & "+" & ((Val(nombre) - Val(nombre) Mod (Val(base_fin) ^ (j))) / (Val(base_fin) ^ (j))) & "." & Val(base_fin) & "^" & j
    nombre = nombre - (Val(base_fin) ^ j)
    If Val(nombre) - ((Val(base_fin) ^ j) * (Int(Val(nombre) / (Val(base_fin) ^ j)))) <> 0 Then
    nombre = nombre - ((Val(nombre) - Val(nombre) Mod (Val(base_fin) ^ (j))) / (Val(base_fin) ^ (j - 1))) * (Val(base_fin) ^ j)
    j = 0
      GoTo 1
      Else
      
       '***************************************
      For i = 1 To Len(w)
        If Mid(w, i, 1) = base_fin Then
          ReDim Preserve t(0 To n)
            t(n) = Mid(w, i + 2, 1)
              n = n + 1
        End If
      Next
    
      For i = Val(Mid(w, 6, 1)) To 0 Step -1
       If InStr(Join(t, " "), i) > 0 Then
         x = x & "1"
         Else
         x = x & "0"
        End If
      Next
      'MsgBox x
      
      '***************************************
    End If
End If
      If (Val(x) / boucle) - Int(Val(x) / boucle) = 0 Then
        resultat = resultat & Chr(10) & x & "/" & boucle
        
      End If
Next
MsgBox resultat  ' retourne le meme tableau que Litllefox
End Sub

Posté par
LittleFox
re : Mariage binaire décimal 06-01-21 à 19:38


Quelles parties asymptotiques?


Voici le graphe de bin(x)/x. Avec marqué en rouge les coordonnées entières (les points solutions du problème). Les 2^20 premières valeurs.
Mariage binaire décimal

On voit que le graphe se répète.

Un zoom sur la plage [2^19, 2^20] montre qu'il n'y que 22 solutions "originales". Parmi celles-ci les plus proches sont écartées de plus de 2000. Ce qui est bien plus proche que nos solutions qui à cette échelle sont écartés de 2^15 = 32768.

Mariage binaire décimal

Je n'ai pas de preuve qu'il n'y ait pas de solutions qui se suivent au delà de 10^20 mais vu le nombre de solutions, c'est peu probable.

Posté par
dpi
re : Mariage binaire décimal 07-01-21 à 07:54

Bravo pour cette étude.
Conclusion provisoire:
2021 est la seule solution actuelle...
20--->10100--->10100/20=505
21--->10101--->10101/21=481

Répondre à ce sujet

Seuls les membres peuvent poster sur le forum !

Vous devez être connecté pour poster :

Connexion / Inscription Poster un nouveau sujet
Une question ?
Besoin d'aide ?
(Gratuit)
Un modérateur est susceptible de supprimer toute contribution qui ne serait pas en relation avec le thème de discussion abordé, la ligne éditoriale du site, ou qui serait contraire à la loi.


Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !