X^n donne un nombre à n chiffres
Cours gratuits > Forum > Forum maths || En basX^n donne un nombre à n chiffres
Message de fatkouma posté le 11-12-2020 à 14:07:39 (S | E | F)
Bonjour, je n'arrive pas un exercice. J'aimerais bien que vous m'aidiez :
Le nombre à 5 chiffres 16807=75, est aussi un nombre élevé à la puissance 5. De même, le nombre à 9 chiffres, 134217728=89, est un nombre élevé à la puissance 9.
Combien y a-t-il d'entiers positifs à n chiffres qui sont aussi un nombre élevé à la puissance n ?
Merci d'avance pour votre aide !!!
Message de fatkouma posté le 11-12-2020 à 14:07:39 (S | E | F)
Bonjour, je n'arrive pas un exercice. J'aimerais bien que vous m'aidiez :
Le nombre à 5 chiffres 16807=75, est aussi un nombre élevé à la puissance 5. De même, le nombre à 9 chiffres, 134217728=89, est un nombre élevé à la puissance 9.
Combien y a-t-il d'entiers positifs à n chiffres qui sont aussi un nombre élevé à la puissance n ?
Merci d'avance pour votre aide !!!
Réponse : X^n donne un nombre à n chiffres de tiruxa, postée le 11-12-2020 à 15:53:04 (S | E)
Bonjour,
On peut utiliser la fonction log décimal
Si n-1<=log(x)<n alors log(x) a n chiffres.
Soit p et n deux entiers non nuls
Ici p^n a n chiffres donc log(p^n) est compris entre n-1 et n (strictement inférieur à n)
Or log(p^n)= n log p donc
n-1 <= n log p < n, et en divisant par n
1-1/n <= log p <1, et en élevant à la puissance 10 (fonction réciproque de la fonction log)
10^(1-1/n) <= p < 10
Après prendre de valeurs de n
Si n=6, 10^(1-1/6) est voisin de 6,8, donc p peut prendre les valeurs 7,8 ou 9. Ex ; 8^6=262144 (6 chiffres) etc...
n ne peut toutefois être trop grand je te laisse chercher jusqu'où peut aller l'entier n.
Bon travail
Réponse : X^n donne un nombre à n chiffres de fatkouma, postée le 12-12-2020 à 08:26:26 (S | E)
Bonjour, merci pour votre aide. En réalité je voulais le résoudre avec un programme en utilisant une boucle. Avec cette piste, je sais maintenant où m'arrêter dans ma boucle.
Merci encore.
Réponse : X^n donne un nombre à n chiffres de fatkouma, postée le 12-12-2020 à 21:28:32 (S | E)
Bonjour j'ai trouvé la solution à mon problème. J'ai réussi à faire un programme:
def nomb(x):
i = 1
a = x
if a < 0:
a = -a
while(a >= 10):
a = a / 10
i += 1
return i
N = []
for i in range(100):
for j in range(1, 10):
if (nomb(j**i) == i):
N.append(j**i)
print(len(N))
Il retourne 49 qui est la réponse exacte à la question posée.
Merci encore !
Cours gratuits > Forum > Forum maths