exo sur systèmes de numération

Retrouver tous les sujets résolus.
Verrouillé
lama

exo sur systèmes de numération

Message par lama » ven. 28 mai 2021 15:13

Bonjour,
Merci de m'aider pour cet exercice
a,b et c des nombres entiers tel que : 1 ≤ a ≤ b ≤ c
- Déterminer a, b et c pour qu'on a dans le système à base a : \(b+c=\overline{46}^{ a}\) et \(b\times c=\overline{545}^{a}\)
J'ai développé et j'ai trouvé : \(b+c=6+4a\) et \(bc=5+4a+5a^{2}\) avec la condition \(a>6\)
Merci
sos-math(21)
Messages : 10334
Enregistré le : lun. 30 août 2010 11:15

Re: exo sur systèmes de numération

Message par sos-math(21) » sam. 29 mai 2021 08:31

Bonjour,
On considère le polynôme \(P\) défini sur \(\mathbb{R}\) par \(P(x)=(x-b)(x-c)\). Ce polynôme admet \(b\) et \(c\) comme racines, et lorsqu'on développe, on obtient \(P(x)=x^2-(b+c)x+bc\).
Ce qui signifie que chercher les valeurs de \(b\) et \(c\) est équivalent à résoudre l'équation du second degré \(x^2-(b+c)x+bc=0\).
Tu peux ensuite, remplacer les expressions des sommes et produits en fonction de \(a\) :
\(x^2-(4a+6)x+(5a^2+4a+5)=0\).
Tu peux ensuite t'intéresser à la résolution de cette équation du second degré en calculant le discriminant :
\(\Delta = (4a+6)^2-4(5a^2+4a+5)=\ldots\).
Cela te fera un polynôme du second degré en \(a\) et comme il faut que ce discriminant soit strictement positif pour que l'équation de départ admette deux solutions distinctes, cela te donnera des conditions sur \(a\). Sachant que \(a>6\) (car le chiffre \(6\) est utilisé dans sa base avec \(\overline{46}^a\), cela te laissera peu possibilités pour les valeurs de \(a\) (qui est un entier !).
Il te restera à tester les valeurs de \(b\) et \(c\) avec les candidats obtenus pour \(a\) et tu trouveras vite laquelle des valeurs restantes mène à une solution.
Je te laisse chercher et terminer le raisonnement.
lama

Re: exo sur systèmes de numération

Message par lama » sam. 29 mai 2021 09:22

Bonjour, oui j'ai trouvé
merci beaucoup
sos-math(21)
Messages : 10334
Enregistré le : lun. 30 août 2010 11:15

Re: exo sur systèmes de numération

Message par sos-math(21) » sam. 29 mai 2021 09:32

Bonjour,
très bien si tu as pu trouver ; normalement on a \(a=8\,;\,b=17\,;\,c=21\).
On peut aussi programmer la recherche des solutions avec la fonction suivante qui teste les valeurs entières entre 7 et un entier \(a\geqslant 7\), entré en paramètre :

Code : Tout sélectionner

import math
def recherche(a):
    liste = []
    for k in range(7,a):
        s = 6 + 4*k
        p = 5 + 4*k + 5*k*k
        delta = s**2 - 4*p
        if delta >0:
            rac1 = (s - math.sqrt(delta))/2
            rac2 = (s + math.sqrt(delta))/2
            if int(rac1)==rac1 and int(rac2)==rac2:
                liste.append((k,rac1,rac2))
    return liste
Et l'appel suivant donne :

Code : Tout sélectionner

>>> recherche(1000)
[(8, 17.0, 21.0)]
On peut ensuite vérifier en codant une fonction de conversion :

Code : Tout sélectionner

def convert(n,b):
    """retourne sous forme de tableau l'écriture en base b de  l'entier n écrit en base 10"""
    t = []
    if n==0:
        return [0]
    while n>0:
        quotient = n // b
        reste = n % b
        t = [reste] + t
        n = quotient
    return t
Puis en appelant la fonction :

Code : Tout sélectionner

>>> convert(17+21,8)
[4, 6]

>>> convert(17*21,8)
[5, 4, 5]

Mais je pense que tu avais trouvé sans avoir recours à la programmation.
Cet exercice étant résolu, je verrouille le sujet.
Bonne continuation
Verrouillé