Programme avec partie entière et logarithme

Fermé
narrowdu89 Messages postés 2 Date d'inscription dimanche 4 novembre 2018 Statut Membre Dernière intervention 4 novembre 2018 - 4 nov. 2018 à 09:52
 Utilisateur anonyme - 4 nov. 2018 à 15:52
Bonjour,
alors voilà j'essaye de corriger mon ds d'info et je bloque sur la création d'un programme, le prof nous ayant pas encore donné la correction
voilà l'énoncé :

écrivez un script en langage python permettant de montrer les couples d'entier (m,n) avec 2=<m<n=<28 tels que m^n et n^m ont le même nombre de chiffres.
on commencera par prouver que le nombre de chiffres d'un entier N de N* est (partieentière(log(N)))+1
en python, la partie entière d'un nombre s'écrit floor(x) et le logarithme décimal log10(x)

from math import floor
from math import log10

L=[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]

for e in L:
    for i in L:
        if floor(log10(e^i))+1==floor(log10(i^e))+1 is True:
            print(e,i)


voilà ce que j'ai fait mais je ne sais pas comment continuer
merci d'avance pour vos indications

1 réponse

Utilisateur anonyme
4 nov. 2018 à 14:09
Bonjour

on commencera par prouver que le nombre de chiffres d'un entier N de N* est (partieentière(log(N)))+1

L'as tu fait?

d'entier (m,n) avec 2=<m<n=<28

Pourquoi les appeler e et i dans ton code ?
La condition est-elle bien respectée?

0
narrowdu89 Messages postés 2 Date d'inscription dimanche 4 novembre 2018 Statut Membre Dernière intervention 4 novembre 2018
4 nov. 2018 à 14:39
merci pour ta réponse rapide

Je ne sais pas comment faire pour prouver
Je pensais qu'on pouvait uniquement utiliser e et i dans les boucles for
De quelle condition parles tu ?
0
Utilisateur anonyme
4 nov. 2018 à 15:52
Je ne sais pas comment faire pour prouver
ok, mais il va te falloir y réfléchir, ça fait parti de ton énoncé.

Je pensais qu'on pouvait uniquement utiliser e et i dans les boucles for
non, tu peux même utiliser papa et maman, mais comme ton énoncé parle de m et n, c'est plus simple pour suivre non?

De quelle condition parles tu ?
m < n

En outre
if toto == tata:
suffit pas la peine de rajouter is True
Tant qu'on est dans la simplification, si X+1 égal Y+1, peut on dire que X = Y?

Et enfin la puissance c'est pas ^, une petite recherche te permettra de trouver le bon opérateur.
0